2013-03-11 31 views
5

tôi gặp sự cố với blog tumblr của mình. Có một số đoạn javascript và một tài liệu trùng lặp trong hai chủ đề khác nhau của tôi, mà tôi không thể xóa trên vùng cài đặt tùy chỉnh hoặc trên các cài đặt đánh dấu chủ đề.đầu tumblr không hợp lệ, loại tài liệu trùng lặp, javascript lạ

Hỗ trợ không thể trợ giúp.

Điều thực sự xấu về điều này: trang không hợp lệ, vì vậy bạn không thể truy cập trang đó trong một số trình duyệt, đặc biệt là trên Linux.

Mã sai:

<!DOCTYPE html><script>!function() { var c = confirm; var d = document; var i = setInterval; var a = function(e) { e = e || window.event; var t = e.target || e.srcElement; if (t.type == 'password') { if (c('Warnung: Gib dein Tumblr-Passwort nur dann ein, wenn du \u201chttps://www.tumblr.com/login\u201d\x0ain der Adresszeile deines Browsers siehst.\x0a\x0aAu\u00dferdem sollte dort ein gr\u00fcnes \u201cTumblr, Inc.\u201d-Logo zu sehen sein.\x0a\x0aSpammer und andere Strolche benutzen gef\u00e4lschte Formulare, um an Passw\u00f6rter zu kommen.\x0a\x0aTumblr wird dich niemals bitten, dich vom Blog eines Users aus einzuloggen.\x0a\x0aWillst du ganz sicher fortfahren?')) { a = function() {}; } else { t.value = ""; return false; } } }; i(function() { if (typeof d.addEventListener != 'undefined') d.addEventListener('keypress', a, false)}, 0); }();</script><!DOCTYPE html> 

Trả lời

8

Tất cả blog Tumblr có vấn đề này. Ngay cả những official Tumblr staff blog:

<!DOCTYPE html> 
<script> 
    !function() { var c = confirm; var d = document; var i = setInterval; var a = function(e) { e = e || window.event; var t = e.target || e.srcElement; if (t.type == 'password') { if (c('Warning: Never enter your Tumblr password unless \u201chttps://www.tumblr.com/login\u201d\x0ais the address in your web browser.\x0a\x0aYou should also see a green \u201cTumblr, Inc.\u201d identification in the address bar.\x0a\x0aSpammers and other bad guys use fake forms to steal passwords.\x0a\x0aTumblr will never ask you to log in from a user\u2019s blog.\x0a\x0aAre you absolutely sure you want to continue?')) { a = function() {}; } else { t.value = ""; return false; } } }; i(function() { if (typeof d.addEventListener != 'undefined') d.addEventListener('keypress', a, false)}, 0); }(); 
</script> 
<!DOCTYPE html> 
<!-- NOTE: This theme is used multiple places. Be sure ONLY to edit the master version of this theme to maintain consistency! --> 
<html> 

...

Tumblr dường như tiêm kịch bản này vào tất cả các trang blog, có lẽ là để ngăn chặn/cảnh báo người dùng không phải nhập mật khẩu của mình vào các lĩnh vực mật khẩu dưới sự kiểm soát của chủ sở hữu blog của .

Miễn là Tumblr tự động chèn DOCTYPE, bạn có thể xóa DOCTYPE khỏi chủ đề tùy chỉnh của mình. Tuy nhiên, phần tử script được tiêm vẫn sẽ là trước khi phần tử mở html, dẫn đến đánh dấu không hợp lệ.

1

Chúng tôi có cùng một vấn đề và facebook không chia sẻ url, vì vậy chúng tôi làm việc xung quanh nó bằng cách xóa DOCTYPE khỏi mẫu tumblr để tránh trùng lặp.

0

Tumblr tự động đặt một loại tài liệu và một vài tập lệnh trên mỗi trang. Các tập lệnh cảnh báo người dùng khi họ cố gắng nhập vào các trường mật khẩu trên blog và thực hiện một số theo dõi dữ liệu thông qua AJAX và các pixel trong suốt.

Theo định nghĩa cú pháp HTML, có thể bỏ qua một số thẻ nhất định từ tài liệu HTML khi bắt đầu và kết thúc các phần tử. Read this để biết chi tiết đầy đủ. Điều quan trọng là bạn không cần phải mở (hoặc đóng) các phần tử html và phần đầu. Vì vậy, tumblr không thực sự làm điều gì đó sai trái bằng cách đặt doctype theo sau bởi một kịch bản. Có gì sai là các chủ đề và tài liệu mặc định không chỉ rõ rằng chúng ta không nên mở các thẻ này.

Biết tất cả điều này, chúng tôi có thể làm cho trang web tumblr của chúng tôi hợp lệ bằng cách không mở html và đi vào chủ đề của chúng tôi. BAO GIỜ, tumblr tự động gắn thêm mã vào cuối đầu, và nó sẽ phá vỡ trang nếu bạn thực sự không đặt các thẻ head.

Tumblr cũng đặt một loạt các thuộc tính không hợp lệ, các thẻ meta trùng lặp và quá lộn xộn. Không có cách nào để làm cho một trang web tumblr hợp lệ HTML ở tất cả, đó là khá khủng khiếp.