错误:未捕获的SyntaxError:意外的标记<
出于某种原因,我收到此错误消息:
Uncaught SyntaxError: Unexpected token <
对于这一行代码:
title: '<img src="http://img.dovov.comtext/text_mario_planet_jukebox.png" id="text_mario_planet_jukebox"/>',
在这种情况下:
$(document).ready(function() { $('#infobutton').click(function() { $('#music_descrip').dialog('open'); }); $('#music_descrip').dialog({ title: '<img src="http://img.dovov.comtext/text_mario_planet_jukebox.png" id="text_mario_planet_jukebox"/>', autoOpen: false, height: 375, width: 500, modal: true, resizable: false, buttons: { 'Without Music': function() { $(this).dialog('close'); $.cookie('autoPlay', 'no', { expires: 365 * 10 }); }, 'With Music': function() { $(this).dialog('close'); $.cookie('autoPlay', 'yes', { expires: 365 * 10 }); } } }); });
我觉得一切都应该好起来,但是我不明白为什么<
某种程度上把它扔掉了..
哎呀,忘记显示这发生在哪里! 我的错,
http://www.marioplanet.com/index.asp
有任何想法吗?
这是一个浏览器问题,而不是一个JavaScript或JQuery的问题; 它试图将angular括号解释为HTML标签。
设置您的JavaScript时尝试这样做:
<script> //<![CDATA[ // insert teh codez //]]> </script>
或者,将您的JavaScript移动到一个单独的文件。
编辑:啊..那个链接我跟踪了下来。 我说的是问题不是问题。 这是从网站上剥离的问题:
<script type="text/javascript" $(document).ready(function() { $('#infobutton').click(function() { $('#music_descrip').dialog('open'); }); $('#music_descrip').dialog({ title: '<img src="http://img.dovov.comtext/text_mario_planet_jukebox.png" id="text_mario_planet_jukebox"/>', autoOpen: false, height: 375, width: 500, modal: true, resizable: false, buttons: { 'Without Music': function() { $(this).dialog('close'); $.cookie('autoPlay', 'no', { expires: 365 * 10 }); }, 'With Music': function() { $(this).dialog('close'); $.cookie('autoPlay', 'yes', { expires: 365 * 10 }); } } }); });
你能发现错误吗? 它在第一行: <script
标记未closures。 它应该是<script type="text/javascript">
但是,我之前的build议仍然存在:您应该将内部标记的脚本放在CDATA块中,或将它们移动到单独链接的文件中。
这不是这个问题,但它会更快地显示真正的问题。
我有完全相同的症状,这是我的问题,追查非常棘手,所以我希望它可以帮助别人。
我正在使用JQuery parseJSON()
,我试图parsing的内容实际上不是JSON,而是返回的错误页面。
我也得到了这个错误,当开发一个使用HTML5推送状态与一个.htaccess的redirect到index.html任何未知文件的Backbone应用程序。
事实certificate,当访问诸如/something/5
的URL时,我的/index.html
被有效地提供给了/something/index.html
(感谢我的.htaccess)。 这样做的结果是将所有相对URL(从index.html中)都打破到我的JavaScript文件中,这意味着它们应该有404'd。
然而,再次由于我的htaccess,而不是404'试图检索JS文件,而是返回我的index.html。 因此,浏览器为每个JavaScript文件提供了一个index.html文件,当它将HTML评估为JavaScript的时候,它返回了一个JS错误,因为前面的<(来自index.html中的我的标记) 。
在我的情况下的修复(因为我是从一个子目录内服务的网站)是添加一个基地标签在我的HTML头。
<base href="/my-app/">
通常情况下,当您尝试加载非HTML资源(例如jquery库脚本文件作为text / javascripttypes)和服务器时,会发生这种情况,而不是返回预期的JS资源,而是返回HTML,通常是404页面。
然后浏览器尝试将资源parsing为JS,但由于实际返回的是HTML页面,parsing失败,出现语法错误,并且由于HTML页面通常以<字符开始,因此这是突出显示的字符在语法错误exception。
当你改变文件所在的目录名时,它通常起作用。 当我从“js /”移动到“../js”时它对我有用
如果您只在Chrome和IE中遇到这个问题,那么一切正常,然后在开发工具(F12 – >“Network”选项卡)中启用checkbutton“ Disable cache ”并在最近一小时内清除历史logging。
我有这个问题,上面的解决scheme为我工作。
尝试replace文本/ JavaScript的文本/ HTML然后保存该笔记和重新加载浏览器,然后将其带回到文本/ JavaScript ..我不知道,但不知道,但这一个与我一起工作..我正在寻找和copy-粘贴,我只是不小心撤消了我正在打字然后繁荣kablooey它的工作0.O顺便说一句,我只是小白..抱歉,我只是觉得它可以帮助虽然..
我不知道你是否得到了答案。 我今天遇到这个问题,我想我有一个可能的正确答案:你不把脚本文件放在正确的位置。
大多数人不会遇到这个问题,因为他们把脚本直接放到他们的服务器目录中。 我遇到这个是因为我把源文件(html文件)链接到服务器根目录。 我没有链接脚本文件,我不知道nginx如何find它们。 但是他们没有正确加载。
将所有文件链接到服务器根目录后,问题就解决了。