停止加载iframe

Lin*_*nas 11 html javascript jquery

所以我有iframe,我正在通过它上传文件,所以我的问题是如何在加载过程中阻止它?我试图用jquery函数更改src attr()但我没有做任何好事,我正在考虑删除整个iframe js但它会给我带来其他问题,我甚至不确定它是否会起作用.那么还有其他一些方法吗?

我的下一个问题是,是否可以隐藏加载指示器,这样就不会混淆用户正在加载页面或其他东西.

像你这样的答案应该使用flash或其他东西将不被接受我已经用iframe做了一切我只需要做那两件事.

这是我的iframe代码:

<iframe onload="file_uploaded()" class="iframe" src="user/upload_image/" name="iframeTarget" ></iframe>
Run Code Online (Sandbox Code Playgroud)

Ric*_*ers 18

我相信以下内容可以回答您的问题:https: //stackoverflow.com/a/2207589/1157493

对于FireFox/Safari/Chrome,您可以使用window.stop():

window.frames[0].stop()
Run Code Online (Sandbox Code Playgroud)

对于IE,您可以使用document.execCommand('Stop')执行相同的操作:

window.frames[0].document.execCommand('Stop')
Run Code Online (Sandbox Code Playgroud)

对于跨浏览器解决方案,您可以使用:

if (navigator.appName == 'Microsoft Internet Explorer') {
  window.frames[0].document.execCommand('Stop');
} else {
  window.frames[0].stop();
}
Run Code Online (Sandbox Code Playgroud)

如果您希望iframe转到其他页面,可以尝试将其重定向到"about:blank"

  • 仅当框架(iframe)在父页面的同一域中具有“src”时,此方法才有效,否则您将收到访问框架内任何属性/功能的权限错误,甚至是“stop()” (2认同)

pol*_*h.o 6

这适用于我(IE,Chrome,FF,Opera):

$iframe.attr('src','about:blank');
Run Code Online (Sandbox Code Playgroud)

  • 当你与页面及其URL无关,并且框架(iframe)在另一个域上时,这实际上是一个很好的解决方案.**纯js版本:**`document.getElementsByTagName('iframe')[0] .src ="about:blank";`记住你不能使用`frames [0]`因为它给你了` iframe中的window`,而不是页面中带有`src`属性的iframe元素. (2认同)