【问题标题】:how to remove picture from iframe - pure javascript如何从 iframe 中删除图片 - 纯 javascript
【发布时间】:2017-05-12 22:43:59
【问题描述】:

我想从我的网站http://letenky.slehkosti.cz/ 上的 iframe 中删除徽标

最好是我想要的

  • 使用 jQuery 或任何其他库 - 仅使用纯 javascript
  • 确保徽标完全不显示

我在头脑中尝试了这个脚本,但没有任何效果。我将保留代码,以显示我尝试过的内容。图片在 div <div class="logo"> html 中的 iframe 内引用,提取如下

如果我检查 javascript 控制台,我可以看到 TypeError: el is undefined 它位于第 22 行,即 el.classList.remove('logo');,所以找不到该元素?

<script type="text/javascript">

document.addEventListener("DOMContentLoaded", function(event) {
    //your code to run since DOM is loaded and ready

    var el = document.getElementsByClassName('logo')[0];
el.classList.remove('logo');


});

//var el = document.getElementsByClassName('logo')[0];
//el.classList.remove('logo');


//ELEMENT.classList.remove("logo");
//div.classList.remove("logo");


//$(document).ready(function() {
//$(".header head_height_").removeClass("logo");
//});
</script>

这是相关的html代码

<div class="logo">
  <!--<a target="_blank" href="http://www.letuska.cz/?prodejce=L012003"><img src="/pp/images/main_logo_pp.png" border="0" alt="" height="100" width="350"></a> -->
  <a target="_blank" href="http://www.letuska.cz">
    <img src="/pp/images/main_logo_pp.png" alt="" width="350" border="0" height="100">
  </a>
</div>

【问题讨论】:

  • 图片是&lt;img&gt;标签还是&lt;div class="logo"&gt;上的background-image
  • 我用一些 html 代码更新了我的问题。我希望它回答了你的问题。
  • 实际上我继续查看提供的链接(我不经常这样做),看起来&lt;iframe&gt; 在另一个&lt;iframe&gt; 中,它们不属于同一个域作为父页面。父页面为letenky.slehkosti.cz,第一级&lt;iframe&gt;letenky-prodejci.letuska.cz,第二级&lt;iframe&gt;www.letuska.czSame Origin Policy 将禁止您希望的此类访问。做你想做的唯一方法是,如果你可以编辑两个域:slehkosti.czletuska.cz
  • ...[继续] 我假设您可能无权访问letuska.cz,或者您只是通过在它实际所在的域上编辑它来删除令人烦恼的徽标。
  • 我只能访问letenky.slehkosti.cz,所以您认为在这种情况下无法完成?

标签: jquery iframe


【解决方案1】:

清理你的代码以使你的问题更清楚是个好主意。

删除 HTML 节点 el(如果您有对它的引用):

el.parentNode.removeChild(el);

我无法从您的代码中判断 var el = ... 是否选择了正确的元素(这取决于您的页面内容),但如果您正确引用它,上面的行肯定会删除它。

【讨论】:

  • 我故意保留了代码。展示我尝试过的东西。我要隐藏的图片的html代码在div中&lt;div class="logo"&gt;
【解决方案2】:
Node.prototype.rClass=function(s){
    var list = [],elem=this;
    for(var i=0;i<elem.classList.length;i++){
        if(s.indexOf(elem.classList[i]) === -1){
            list.push(elem.classList[i]);
        }
    }
    elem.className = list.join(' ').toString();
}
document.addEventListener("DOMContentLoaded", function(event) {
    var el = document.getElementsByClassName('logo')[0];
    el.rClass(['logo']);
});

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 2021-09-16
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    相关资源
    最近更新 更多