5

我的 tumblr 博客有问题。在我的两个不同主题中有一些 javascript 和重复的 doctype,我无法在自定义设置区域或主题标记设置中删除它们。

支持帮不上忙。

真正糟糕的是:该页面是无效的,因此您无法在某些浏览器中访问它,尤其是在 Linux 上。

错误的代码:

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

4

3 回答 3

8

所有Tumblr 博客都有这个问题。甚至官方 Tumblr 员工博客

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

…</p>

Tumblr 似乎将此脚本注入所有博客页面,可能是为了防止/警告用户不要在博客所有者控制下的密码字段中输入密码。

只要 Tumblr 自动注入 DOCTYPE,您就可以从自定义主题中删除 DOCTYPE。尽管如此,注入的script元素仍然会开始html元素之前,导致标记无效。

于 2013-03-12T19:24:33.933 回答
1

我们有同样的问题,facebook 未能共享 url,所以我们通过DOCTYPEtumblr模板中删除来解决它以避免重复。

于 2014-03-04T12:13:48.010 回答
0

Tumblr 会自动在每个页面上方放置一个文档类型和几个脚本。当用户尝试在博客上输入密码字段并通过 AJAX 和透明像素进行一些数据跟踪时,这些脚本会警告用户。

根据 HTML 语法定义,当可以隐含元素的开头和结尾时,可以从 HTML 文档中省略某些标记。阅读此内容以获取完整的详细信息。重要的是您不需要打开(或关闭)html 和 head 元素。所以 tumblr 实际上并没有通过将 doctype 放在脚本后面来做错事。问题是默认主题和文档没有指定我们不应该打开这些标签。

知道了这一切,我们可以通过不在我们的主题中打开 html 和 head 来使我们的 tumblr 网站有效。但是,tumblr 会自动在头部末尾附加额外的代码,如果您实际上没有放置头部标签,它将破坏页面。

Tumblr 还放了一堆无效的属性,重复的元标签,总体上相当混乱。根本没有办法让 tumblr 网站成为有效的 HTML,这太可怕了。

于 2016-07-20T20:23:05.970 回答