Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome中未调用jQuery.proxy()函数_Javascript_Jquery_Ajax_Google Chrome_Proxy - Fatal编程技术网

Javascript Chrome中未调用jQuery.proxy()函数

Javascript Chrome中未调用jQuery.proxy()函数,javascript,jquery,ajax,google-chrome,proxy,Javascript,Jquery,Ajax,Google Chrome,Proxy,我面临一个问题,即即使代理已成功加载,jQuery函数也没有被调用(据我所知)。我们正在进行的调用在第一次加载时可以正常工作,但是当我们尝试通过AJAX加载此脚本时,它会调用所需的$.proxy()来初始化函数,但实际上不会调用该函数 动态加载代码为: <script language="JavaScript"><!-- var ctrl = new VideoControl({"Id":"bc1093c8290a4037846c2052695a

我面临一个问题,即即使代理已成功加载,jQuery函数也没有被调用(据我所知)。我们正在进行的调用在第一次加载时可以正常工作,但是当我们尝试通过AJAX加载此脚本时,它会调用所需的$.proxy()来初始化函数,但实际上不会调用该函数

动态加载代码为:

       <script language="JavaScript"><!--
         var ctrl = new VideoControl({"Id":"bc1093c8290a4037846c2052695a7d3a"}, "...");
//-->
   </script>
因此,调用了main函数,但当通过Chrome或IE中的AJAX控件加载时,不会调用Initialise()。不过,这在firefox中确实有效

有一个r解释了为什么$function没有被调用,但我如何使它达到它将调用的点(类似于firefox处理它的方式)

有人知道firefox在使用jQuery和其他浏览器时的不同之处吗

chrome开发者工具上没有显示错误,是否还有其他地方可以查看以诊断此问题

先谢谢你

因此调用了main函数,但没有调用Initialise() 当通过AJAX加载时

$(function(){})
.ready()
的别名;
.ready()
的处理程序最多只能调用一次。AJAX是否在加载文档后出现,如果
.ready()
以前调用过,
$.isReady
设置为
true
防止调用后续
.ready()
$(function(){})
中的处理程序

尝试删除
$(function(){})
包装器

function VideoControl(controlIds, videoMarkUp) {
    this.controlIds = controlIds;
    this.videoMarkUp = videoMarkUp;

    var thisControl = this;

    $.proxy(thisControl.Initialise, thisControl);
}
使用


但是,不确定为什么在这里使用
$.proxy
,作为
此控件的
上下文
。初始化
似乎未更改为不同的
上下文


还请注意,问题中的
js
thisControl.Initialise()调用了函数;应该引用函数的位置

代码的结构有点奇怪-您的
VideoControl
函数中有一个document.ready处理程序,正在将调用
thisControl.Initialise()
函数的结果分配给
$.proxy
,而不是给代理一个函数的引用并调用它。考虑到这些问题,我不确定这段代码在任何状态下是如何工作的。@Rorymcrossan更多信息已添加到问题中
function VideoControl(controlIds, videoMarkUp) {
    this.controlIds = controlIds;
    this.videoMarkUp = videoMarkUp;

    var thisControl = this;

    $.proxy(thisControl.Initialise, thisControl);
}
$(document).ready(VideoControl)