2010-09-25 81 views
24

tôi nhận được lỗi cú pháp sau đây trong Firebug và tôi không có được những gì nó:HTML DOCTYPE Cú pháp lỗi

> syntax error [Break on this error] 
> <!DOCTYPE html PUBLIC "-//W3C//DTDXHT...org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n 

Có phải vì các trận chung kết "\ n" ở cuối?

cảm ơn

ps. Tôi vừa mới nhận ra nếu tôi xóa tất cả các tập lệnh, tôi không nhận được lỗi đó. Ví dụ, nếu tôi loại bỏ những dòng này, tôi không nhận được nó. Nếu tôi thêm một tập lệnh khác, tôi sẽ nhận lại nó, vì vậy nó không phụ thuộc vào tập lệnh.

<script type="text/JavaScript" src="<?php echo $base_url; ?>sites/all/themes/bluemarine/js/main.js"></script> 

Mã sản phẩm:

<?php 
// $Id: page.tpl.php,v 1.28.2.1 2009/04/30 00:13:31 goba Exp $ 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language->language ?>" xml:lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"> 
<head> 
    <?php print $head ?> 
    <title><?php print $head_title ?></title> 
    <?php print $styles ?> 
    <?php print $scripts ?> 
    <script type="text/JavaScript" src="<?php echo $base_url; ?>sites/all/themes/bluemarine/js/main.js"></script> 
    <!--<script type="text/JavaScript" src="<?php echo $base_url; ?>sites/all/themes/bluemarine/js/griddy-min.js"></script> 
--> 

</head> 

<body>... 
+0

Mã nguồn của tệp HTML? – kennytm

+0

vừa thêm, xin lỗi – aneuryzm

Trả lời

25

Ryan Rampersad, viết blog về vấn đề này nêu

Lỗi xuất phát từ Firebug. Giờ nghỉ về lỗi này không phải là một phần của lỗi nhưng nó là ở bãi firebug bản sao ....

syntax error [Break on this error] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML…3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Con đường tôi gặp phải lỗi này là tôi quên để xác định giá trị thuộc tính src cho thẻ tập lệnh của tôi!

<script type="text/javascript" src=""></script>

Đây là blog post.

+0

Xin cảm ơn! Vấn đề là tất cả các kịch bản của tôi đều có "src". Ý tôi là, nếu tôi xóa 2 dòng cuối cùng (

14

tôi nghi ngờ rằng bạn có một trỏ <script> đến URL trả về một tài liệu HTML (có thể nó sẽ được đến với một phản ứng 404 nhưng không phải là)

+0

tốt, bạn thấy trong mã họ trỏ đến tệp js. Và trong Firebug nó được tìm thấy (không 404 lỗi được trả lại) – aneuryzm

+2

Đưa '.js' vào cuối một URL không làm cho nó thành một tệp JS. Máy chủ (với một số ngoại lệ rất hiếm) gửi tài liệu HTML dưới dạng lỗi 404. Đôi khi chúng được định cấu hình sai nên nội dung lỗi 404 của chúng đi kèm với mã trạng thái 200. – Quentin

+0

Điều gì tạo nên một tệp js? Tôi chỉ có javascript trong đó. cảm ơn – aneuryzm

2

tôi đã cùng một vấn đề. Đối với tôi vấn đề là tôi đã tải một tập tin kịch bản mà chỉ đến hư không hoặc chính xác hơn nó chỉ vào tên miền gốc của tôi. Tuyên bố kịch bản là <script src="http://mydomain/" type="text/javascript" />. Điều đang xảy ra là kịch bản đang tải trang chủ của tôi. Ký tự đầu tiên của trang chủ là "<" vì tất cả các trang html bắt đầu bằng "<!DOCTYPE ......". Vâng đây là một lỗi cú pháp như vậy và đó là nó. Khi tôi đã loại bỏ <script src="http://mydomain/" type="text/javascript" /> mọi thứ đều ổn. Tôi hy vọng tôi đã giúp bạn.

CHỈNH SỬA: Tóm lại, hãy kiểm tra src con trỏ trên các liên kết Javascript của bạn để đảm bảo chúng trỏ vào đúng tệp.

+0

Tôi đã làm việc về vấn đề này từ lâu. Cảm ơn bạn! Bạn đã lưu công việc của mình :-) – Mohit

1

Trong trường hợp của tôi, khi tôi nhận được lỗi như vậy, nguyên nhân là "không được phép truy cập" vào tệp JS.

Để phát hiện, hãy sử dụng tab FireBug, [HTML]: Thử mở rộng từng nút "tập lệnh". một trong các nút này chứa nội dung trang "401.html" thay vì nội dung JS dự kiến.

0

Tôi đã gặp sự cố tương tự. Sau khi thử nhiều giải pháp và tìm kiếm về nó, cuối cùng tôi đã nhận được lý do tại sao tôi đã nhận được lỗi đó.

Tôi đã nhận được lỗi đó vì đường dẫn không hợp lệ trong thuộc tính src của thẻ tập lệnh. Giống như tôi đã thêm tập lệnh như dưới đây bằng cách kéo tập lệnh trên trang từ trình khám phá giải pháp trong studio trực quan và tôi đã gặp lỗi. Thuộc tính src của tôi trong thẻ tập lệnh là src = "~/js/jquery.min.js"

Và tôi thấy rằng tôi không nhận được tập lệnh trên trang đó.

Vì vậy, tôi đã sử dụng giải pháp dưới đây để tải tập lệnh trên trang đó. thuộc tính src trong thẻ tập lệnh src = "../../ js/jquery.min.js"