WordPress主页加载弹出对话框SyntaxError:意外的令牌:

时间:2014-10-01 03:18:58

标签: javascript php jquery html wordpress

我在网上找不到与我的问题相符的内容。当我通过在地址栏中输入主页加载我的主页时,它加载正常。当我从网站上的其他页面导航到主页时(通过单击主页链接或浏览器的后退按钮),会弹出以下对话框。

"语法错误:意外的令牌:"

单击“确定”后,对话框消失,主页正常加载。我想知道弹出这个对话框的来源并摆脱它。任何想法或建议的故障排除表示赞赏。

我正在使用WordPress 4.0,Jquery 1.11.1和Salient主题。该问题在Chrome和Safari浏览器中可重现。再次,在地址栏中键入主页URL并按Enter键不会导致弹出对话框。导航到完全不同的站点并按Back也不会导致弹出窗口。

谢谢!

1 个答案:

答案 0 :(得分:1)

您的邮件来自/wp-content/themes/salient/js/ajaxify.js

function _addtext(t) {
    try {
        $.globalEval(t);
    } catch (e) {
        alert(e);
    }
}

t的字符串值是

{ "@context": "http://schema.org", "@type": "WebSite", "url": "http://128.199.247.11/", "potentialAction": { "@type": "SearchAction", "target": "http://128.199.247.11/?s={search_term}", "query-input": "required name=search_term" } }

重现结果:



var t = '{ "@context": "http://schema.org", "@type": "WebSite", "url": "http://128.199.247.11/", "potentialAction": { "@type": "SearchAction", "target": "http://128.199.247.11/?s={search_term}", "query-input": "required name=search_term" } }';

try {
   $.globalEval(t);
} catch (e) {
   alert(e);
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js">
</script>
&#13;
&#13;
&#13;

这是因为此字符串等同于

<script>
{"@context": "...", and so on }
</script>

并且js在尝试评估代码时不知道如何处理它。