Javascript错误:"没有中继设置",仅在IE 7,8中

Tod*_*ddN 10 javascript debugging jquery internet-explorer postmessage

我的javascript将因为收到的错误而无法加载,仅在IE中.我使用调试器来获得以下错误.这个页面在Safari,FF和chrome中正确呈现了javascript,但在IE中却没有,只在这样的特定页面上呈现.

http://tsqja.deznp.servertrust.com/Lakeside_721_2_Shelf_Heavy_Duty_Utility_Cart_p/lak-721.htm

1)没有中继设置(用作window.postMessage targetOrigin),不能发送跨域消息

2)参数无效.jquery.min.js

任何想法第一个错误意味着什么?我已经用最新版本切换了我的jQuery构建,它仍然做同样的事情.

更新我已经将我的jquery.min.js更新到最新版本,我发现这是页面停止加载的地方...在jquery-latest.min.js中弹出无效参数后,第16行字符15511,这是以下字母'b':

finally{b=[e,f],c=0}}return this}
Run Code Online (Sandbox Code Playgroud)

Luc*_*ofi 10

DEMO http://so.devilmaycode.it/javascript-errors-no-relay-set-only-in-ie-7-8/

  • 1) - 没有中继设置(用作window.postMessage targetOrigin),不能发送跨域消息

是由<g:plusone />您网站上的按钮引起的:( 谷歌忙于此通知)我发现绕过这个问题的唯一方法是做这样的事情:

$(function() {
    setTimeout(function() {
        gapi.plusone.render("plusone-div");
    },
    1500);

});
Run Code Online (Sandbox Code Playgroud)
  • 2) - 参数无效.jquery.min.js

查看你的源代码是一个混乱!;-) 我的天啊

  • 你有很多错误 喜欢(http://指定缺少协议):

  • 不同的文件夹case-name喜欢/v/newsite/,/v/Newsite/ 这真的很重要,如果你在nix下,但因为你使用ASP ...

  • AttachEvent(window, 'load', store_init);使用jquery之类的代码jQuery(document).ready(function() {

  • 多个包含相同的文件(此文件包含3次) /a/j/product_details.js

  • 的大量使用$(function(){$(document).ready(function(){$(window).load(function(){当只有一个需要多次;

  • js global在页面周围,顶部,中间和底部,他们应该保持在顶部恕我直言...

  • 不同版本的jQuery加载在同一时间,如:jquery-1.4.4.min.js&jquery-1.6.2.js&1.4.2/jquery.min.js一起

  • 虽然很小,但总是很糟糕,你有<meta />,<link />并且<script />混合顺序就像鸡肉沙拉一样,它们应该保留在页面末尾的元,链接和脚本中.

  • ;周围缺少分号;

  • 像下面这样的无意义/格式错误的代码以及更多...


if (!/\/shoppingcart\.asp/i.test(window.location.pathname)) {
    jQuery(document).ready(function() {
        jQuery('a').each(AddCartLink)
    });
}
Run Code Online (Sandbox Code Playgroud)
var global_Config_EnableDisplayOptionProducts = 'False';
Run Code Online (Sandbox Code Playgroud)
var global_ImageSeed = 'test.jpg';
global_ImageSeed = global_ImageSeed.substring(...
Run Code Online (Sandbox Code Playgroud)

您的网站没有错误: http ://so.devilmaycode.it/javascript-errors-no-relay-set-only-in-ie-7-8/

我所做的是:

  1. 重新排序主要标签元,链接,脚本
  2. 删除像addthis,google,facebook这样糟糕的小部件
  3. "试图"将所有全局变量放到顶部;
  4. TopScriptsTEST5.js中 注释了导致chrome问题的代码部分,这个文件是你的主要问题,(你应该看到一大堆代码被注释)
  5. 删除重复文件包含,
  6. 删除了最新版本的jquery,因为我强烈怀疑所有其他代码都使用最新的jquery版本,所以请使用1-4-4代替
  7. 其他一些解决方案......没什么特别的

希望这个检查有点帮助,但我认为你需要一个驱魔人;-)

  • 你的第一点就是挑剔:用//创建一个url是完全没问题的,它将使用与它所在页面相同的方案.如果您同时拥有页面的http和https版本,并且希望确保在同一协议中包含绝对URL,则非常方便. (10认同)