2013-03-11 16 views
5

Benim tumblr blogları ile ilgili bir sorun var. JavaScript bazı parça ve ben özel ayarlar alana veya tema işaretleme ayarlarına kaldıramazsınız benim iki farklı tema, bir çoğaltılamaz Doctype yoktur.geçersiz tumblr head, yinelenen doctype, garip javascript

destek alamadı.

gerçekten kötü bu konuda bir şey: Özellikle Linux üzerinde, bazı tarayıcınızda ziyaret edemez böylece sayfa, lanet geçersizdir.

yanlış kod:

<!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> 

cevap

8

Tüm Tumblr blogları bu sorun var. Hatta 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 muhtemelen önleyebilir/blog sahibinin kontrolü altında şifre alanlara şifresini girmesi değil kullanıcılarını uyarmak amacıyla, tüm blog sayfalarına bu senaryoyu enjekte görünüyor .

sürece Tumblr otomatik bir DOCTYPE enjekte olarak, kendi özel tema gelen DOCTYPE kaldırabilir. Bununla birlikte, enjekte edilen script elemanı,html numaralı açıklıktan önce öğesinin hala geçersiz biçimlendirmesiyle sonuçlanacaktır.

1

Aynı sorunu yaşıyoruz ve facebook URL'yi paylaşmakta başarısız oldu. Bu nedenle, kopyalamayı önlemek için DOCTYPE şablonunu tumblr şablonundan kaldırarak çalışırız.

0

Tumblr, otomatik olarak her sayfanın üzerinde bir doctype ve birkaç komut dosyası koyar. onlar blogda şifre alanlarını yazın ve AJAX ve şeffaf pikseller yoluyla izleme bazı verileri yapmaya çalıştıklarında komut uyarır. elemanların başlangıç ​​ve bitiş ima edilebilir yaparken

HTML sözdizimi tanımına göre belirli etiketleri, HTML belgesinden atlanabilir. Tüm detaylar için Read this. Önemli olan, html ve başlık öğelerini açmanıza (veya kapatmanıza) gerek olmamasıdır. Bu yüzden tumblr, doctype ve ardından bir komut dosyası koyarak yanlış bir şey yapmıyor. Sorun şu ki, varsayılan temalar ve belgeler bu etiketleri açmamamız gerektiğini belirtmiyor.

tüm Bunu bilerek, bizim temalar içinde html ve kafa açmayarak bizim Tumblr siteleri geçerli yapabilirsiniz. ANCAK, tumblr otomatik kafanın sonunda ek kod ekler ve aslında kafa etiketleri koymazsan o sayfayı kıracak.

Tumblr da geçersiz niteliklerin bir demet koyar meta etiketleri çoğaltmak ve oldukça dağınık characteristic olduğunu. Tumblr site geçerli bir HTML yapmak için hiçbir yolu yoktur, bu oldukça korkunç.