1

Chrome 工作,IE 不工作,Safari 和 Firefox 有时刷新后工作。此错误会阻止我网站上的所有 javascript 工作!我的网站现在被 facebook javascript sdk 瘫痪了。它只是从昨天开始的,过去 2 年在我的高流量生产站点中运行良好。

在 IE、Safari 中:SCRIPT5022:错误 all.js,第 43 行字符 128

这是

__d("Assert",["AssertionError","sprintf"],function(a,b,c,d,e,f){var g=b('AssertionError'),h=b('sprintf');函数 i(p,q){if(!p)throw new g(q);return p;}function j(p,q,r){var s=Object.prototype.toString.call(q),t= /\s(\w*)/.exec(s)[1].toLowerCase();i(~ES5(p,'indexOf',true,t),r||h('表达式是%s类型, not %s',t,p));return q;}function k(p,q,r){i(q instanceof p,r||'Expression not instance of type');return q;}var l ={isInstanceOf:k,isTrue:i,type:j,define:function(p,q){l.isString(p);l.isFunction(q);p=p.substring(0,1).toUpperCase( )+p.substring(1).toLowerCase();l['is'+p]=function(r,s){i(q(r),s);};}},m=['Array' ,'Boolean','Date','Function','Null','Number','Object','Regexp','String','Undefined'],n=m。长度;while(n--){var o=m[n];l['is'+o]=ES5(j,'bind',true,null,o.toLowerCase());}e.exports= l;});

使用 IE 的调试功能,错误似乎来自:这段代码:

抛出新的 g(q)

由于 facebook 只需将其压缩并直接从 facebook 下载。我无法调试或更改它。请告知我可以收集哪些信息让您了解更多信息。

4

1 回答 1

1

我在使用 Drupal for Facebook 的 Drupal 站点上遇到了这个问题,我的解决方法是在 fb.js 的第 38 行放置try{}catch(e){}一个FB.XFBML.parse(elem);。问题似乎源于elem不是 HTMLDocument 类型,但你不能检查这个,因为 IE9 没有这种类型。

如果您不使用 Drupal,请查找对 FB.XFBML.parse 的函数调用。

于 2012-09-24T15:47:48.070 回答