Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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删除iframe_Javascript_Html_Regex_Iframe - Fatal编程技术网

使用javascript删除iframe

使用javascript删除iframe,javascript,html,regex,iframe,Javascript,Html,Regex,Iframe,我正在尝试删除文档中的iFrame标记。 这就是函数。但它似乎不起作用。这是我的示例代码 <script> function removeiframe() { alert("Hello Lovely World"); var markup = document.body.innerHTML; var filtered=markup.replace(/(<ifra

我正在尝试删除文档中的iFrame标记。 这就是函数。但它似乎不起作用。这是我的示例代码

<script>
function removeiframe() {
            alert("Hello Lovely World");
            var markup = document.body.innerHTML;
            
            var filtered=markup.replace(/(<iframe.*?>.*?<\/iframe>)/g,"");
            alert("he: " + markup);
//markup = Regex.Replace(markup, @"<script.*?/script>", "", RegexOptions.IgnoreCase);
//markup = Regex.Replace(markup, @"<iframe.*?/iframe>", "", RegexOptions.IgnoreCase);
markup = filtered;
document.body.innerHTML = markup + "<hr><hr>HELLO";
        }
</script>
<body onload="removeiframe()">
    
        <iframe marginheight="0" src="http://www.hotelanswer.com" marginwidth="0" frameborder="0" height="180" scrolling="no" width="210"></iframe><br>
</body>

函数removieframe(){
警惕(“你好,可爱的世界”);
var markup=document.body.innerHTML;
var filtered=markup.replace(/(.*?)/g,“”);
警惕(“他:+标记);
//markup=Regex.Replace(标记@“”,RegexOptions.IgnoreCase);
//markup=Regex.Replace(标记@“”,RegexOptions.IgnoreCase);
标记=过滤;
document.body.innerHTML=标记+“

你好”; }

您应该将iframe放在div元素中

<div id="kk">
  //your iframe
</div>

这是一个可能的解决方案。

您可以运行一个脚本,该脚本将从文档中删除所有iFrame。下面是一个这样工作的例子:

var-iframes=document.querySelectorAll('iframe');
对于(var i=0;i
您没有提到为什么需要删除文档中的iframe

我这样做是为了防止点击劫持攻击。但它在任何情况下都会起作用

你需要这个:

<style id="defendClickjack" type="text/css">body{display:none;}</style>
body{display:none;}
然后

<script type="text/javascript">
    if (self === top) {
        var defendClickjack = document.getElementById("defendClickjack");
        antiClickjack.parentNode.removeChild(defendClickjack);
    }
    else {
        top.location = self.location;
    }
</script>

如果(自我===顶部){
var defencClickJack=document.getElementById(“defencClickJack”);
antiClickjack.parentNode.removeChild(DefendencClickJack);
}
否则{
top.location=self.location;
}
您可以在此处找到更多信息:

    • 纯Javascript代码:

      document.querySelectorAll('iframe').forEach(
        function(elem){
          elem.parentNode.removeChild(elem);
      });
      

      如果您只想在移动设备上执行此操作,则可以对原始示例稍加改进。对我来说,使用案例是我在我的站点上使用Vimeo嵌入来创建视频背景。我需要放弃手机上的视频来表现。这就行了

      $( document ).ready(function() {      
          let isMobile = window.matchMedia("only screen and (max-width:650px)").matches;
              if (isMobile) {
                  var iframes = document.querySelectorAll('iframe');
                  for (var i = 0; i < iframes.length; i++) {
                  iframes[i].parentNode.removeChild(iframes[i]);
                  }
              }
          });
      
      如果你有一个iFrame的网格,也许一行中有几个嵌入式视频

      document.querySelectorAll("foo > .bar > iframe")
      
      或者从同一个数据源得到更好的结果

      document.querySelectorAll("iframe[data-src]")
      

      如果我在某个地方出错,请有人纠正我

      如果有多个iframe,则此代码无法正常工作,因为本例中的iframe是一个实时集合,只要我们从中删除iframe,它就会更新document@s.ermakovich我认为这不一定是正确的,但我还是把它改成了静态集合。
      document.querySelector(".foo > bar iframe")
      document.querySelector("foo bar > iframe")
      
      document.querySelectorAll("foo > .bar > iframe")
      
      document.querySelectorAll("iframe[data-src]")