Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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
需要在iFrame中禁用Javascript_Javascript_Html_Iframe_Web - Fatal编程技术网

需要在iFrame中禁用Javascript

需要在iFrame中禁用Javascript,javascript,html,iframe,web,Javascript,Html,Iframe,Web,我正在建立一个投资组合网站;这是一个带有灯箱功能的单页传呼机。所以,基本上我展示的是我制作的HTML5广告,我将其嵌入到iFrame中。这些广告都有音频,所以当我关闭灯箱时,音频会继续播放。现在我尝试了不同的方法,但都没有成功。我已经测试了一种有效的方法,其中我删除了iFrame的src(一个我分配了ID的iFrame)。像这样: **HTML:** <iframe id="test" class="iframe-src" src="media/rogue-nation/300x250-p

我正在建立一个投资组合网站;这是一个带有灯箱功能的单页传呼机。所以,基本上我展示的是我制作的HTML5广告,我将其嵌入到iFrame中。这些广告都有音频,所以当我关闭灯箱时,音频会继续播放。现在我尝试了不同的方法,但都没有成功。我已经测试了一种有效的方法,其中我删除了iFrame的src(一个我分配了ID的iFrame)。像这样:

**HTML:**
<iframe id="test" class="iframe-src" src="media/rogue-nation/300x250-progressive-post/index.html" width="300" height="250" style="border:none"></iframe>

**JavaScript:**
var test;
var lightbox;

test = document.getElementById('test');
lightbox = document.getElementById('lightbox');

lightbox.addEventListener("click", closeLightbox, false);

function closeLightbox() {
...
test.src = "none";
}
**HTML:**
**JavaScript:**
var检验;
var灯箱;
test=document.getElementById('test');
lightbox=document.getElementById('lightbox');
lightbox.addEventListener(“单击”,关闭lightbox,false);
函数closeLightbox(){
...
test.src=“无”;
}
所以…我的问题是:

  • 根据与哪个iFrame交互,将此方法应用于每个iFrame的“最佳”方法是什么(已尝试,getElementsByClassName,但未成功)
  • 有没有一种方法可以禁用iFrame中的脚本,这样我就不必使用这种方法,因为我对它不太感兴趣
  • 另外,请不要发布jQuery解决方案或建议我使用jQuery,因为这不会有帮助,因为我正在编写纯JavaScript

提前谢谢

如果您的iframe内容位于同一个域上,则很容易。当灯箱关闭时,您可以执行以下操作:

function closeLightbox() {
    // get the iframe which is playing audio
    var iframe = document.getElementById('iframe');
    // make sure you can reference the audio element on the iframe
    // e.g. with an id.
    var sound = iframe.contentWindow.document.getElementById('sound');
    sound.pause();
    sound.currentTime = 0;
    // then close the lightbox with some other code
    // ...
}

您是否在同一域的lightbox中托管内容?(看起来就像你使用“media/…”作为iframe src)是的,我正在将我在目录中组织的HTML5广告加载到这些iframe中。(我正在加载index.html)