Fancybox 发出不需要的同步请求?
Fancybox makes unwanted synchronous request?
我有公式,我想通过 ajax 提交。因此,我正在使用 jquery form plugin。嗯,这很好用。
我收到一个 html 页面,我想将它传递给 fancybox (v2.0)。但是如果我要打开 fancybox,我会收到这个众所周知的 chrome 警告:
Synchronous XMLHttpRequest on the main thread is deprecated because of
its detrimental effects to the end user's experience. For more help,
check http://xhr.spec.whatwg.org/.
因此,我想知道两件事:
- 为什么会出现这个警告,是因为我的ajax请求的fancybox是否使用了
async = false
之类的。好吧,据我所知,我检查了fancybox的源代码,所以...
为什么我第二次尝试提交表单时出现以下错误?
Uncaught TypeError: $(...).ajaxSubmit is not a function.
我感觉,警告出现后,导致警告的函数从上下文中删除,因此不可调用... ?!
如果我不使用 fancybox - 例如当我只是调用 console.log(result)
- 我不会收到错误。所以我想 fancybox 一定有问题。
为什么我不直接在fancybox的内容中调用我要加载的页面的url,正常人会这样做?好吧,因为 fancybox 没有将 post 数据传递给 url 的选项,因此我需要提交表单。
发送获取数据是不可能的。
这是有问题的代码:)
$(domObject).ajaxSubmit({
dataType: "html",
success: function(result) {
$.fancybox.open({
padding: 0,
margin: 0,
content: result,
autoSize: false
});
}
});
尝试使用下面的代码:
$(domObject).ajaxSubmit({
dataType: "html",
async: true,
success: function(result) {
$.fancybox(result, {
padding: 0,
margin: 0,
content: result,
autoSize: false
});
}
});
我发现,如果您传递给 fancybox 的内容中有带有 src 属性的脚本标签,则会出现错误。
我猜想,fancybox 会缓冲内容并等待所有 javascript 文件加载...但这只是一个错误的猜测,因为在具有 href 属性的 link 标签上行为不会发生。
目前我可以轻松绕过这个问题,但我会为 fancybox 打开一个问题。
我有公式,我想通过 ajax 提交。因此,我正在使用 jquery form plugin。嗯,这很好用。
我收到一个 html 页面,我想将它传递给 fancybox (v2.0)。但是如果我要打开 fancybox,我会收到这个众所周知的 chrome 警告:
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
因此,我想知道两件事:
- 为什么会出现这个警告,是因为我的ajax请求的fancybox是否使用了
async = false
之类的。好吧,据我所知,我检查了fancybox的源代码,所以... 为什么我第二次尝试提交表单时出现以下错误?
Uncaught TypeError: $(...).ajaxSubmit is not a function.
我感觉,警告出现后,导致警告的函数从上下文中删除,因此不可调用... ?!
如果我不使用 fancybox - 例如当我只是调用 console.log(result)
- 我不会收到错误。所以我想 fancybox 一定有问题。
为什么我不直接在fancybox的内容中调用我要加载的页面的url,正常人会这样做?好吧,因为 fancybox 没有将 post 数据传递给 url 的选项,因此我需要提交表单。 发送获取数据是不可能的。
这是有问题的代码:)
$(domObject).ajaxSubmit({
dataType: "html",
success: function(result) {
$.fancybox.open({
padding: 0,
margin: 0,
content: result,
autoSize: false
});
}
});
尝试使用下面的代码:
$(domObject).ajaxSubmit({
dataType: "html",
async: true,
success: function(result) {
$.fancybox(result, {
padding: 0,
margin: 0,
content: result,
autoSize: false
});
}
});
我发现,如果您传递给 fancybox 的内容中有带有 src 属性的脚本标签,则会出现错误。
我猜想,fancybox 会缓冲内容并等待所有 javascript 文件加载...但这只是一个错误的猜测,因为在具有 href 属性的 link 标签上行为不会发生。
目前我可以轻松绕过这个问题,但我会为 fancybox 打开一个问题。