什么原因可能是firefox没有在iframe中加载javascript的原因

时间:2014-04-01 14:39:48

标签: jquery firefox iframe autocomplete

我有一个问题我发现很难调试,当firefox从iframe中加载我的代码时,它似乎只出现在firefox上。我不太了解浏览器差异,并且使这项工作的问题是间歇性的。我已经在javascript中跟踪了这个错误,我没有使用chrome。

  

TypeError:$(...)。autocomplete(...)。data(...)为null

现在,我认为正在调用的相关代码来自这样的javascript自动完成功能。

$("#field").data( "ui-autocomplete" )._renderItem = function( ul, item ) { ... }

令我困惑的是它似乎是一个间歇性的firefox bug,我无法在chrome上重现它。有没有人对这里发生的事情有任何见解?

N.B。我读过thisthis和几个类似的问题,但我的问题是.data返回null,而不是.data("autocomplete")undefined ...

提前致谢。

2 个答案:

答案 0 :(得分:1)

你可以提供一些jsFiddle或具体的例子吗?很难说出问题所在。

无论如何,你可以用以下方法解决问题:

if( $("#field").data() ){
    var fieldAuto = $("#field").data( "ui-autocomplete" );
    if( fieldAuto ){
        fieldAuto._renderItem = function( ul, item ) { ... };
    }
}

ui-autocomplete取决于jQuery版本,因此您可能必须更改它

答案 1 :(得分:1)

根据您使用的jquery ui的版本,它将是“自动完成”或“ui-autocomplete”。

var autoComplete = input.data("ui-autocomplete");
if(typeof(autoComplete) == "undefined")
    autoComplete = input.data("autocomplete");
 autoComplete._renderItem = function(ul, item) {....}

如有任何进一步的问题,请检查并告知我们。

干杯...... :)