防止 iframe 点击进入 url Javascript

Posted

技术标签:

【中文标题】防止 iframe 点击进入 url Javascript【英文标题】:Preventing Iframe clicks from entering url Javascript 【发布时间】:2017-09-19 19:30:01 【问题描述】:

如果有人有阻止点击 iframe 进入移动设备和笔记本电脑设备上的新网站的脚本?

我有一个带有 iframe 播放视频的页面。最初,当用户单击视频的全屏模式时,它会弹出到视频上托管的站点,然后用户进入该站点。我从来没有真正想要这个,但一周前我在页面上放了一个 popad 以获取收入。当我这样做时,我注意到当 iframe 视频在全屏上双击时,用户不再访问其他站点,实际上它完全阻止了全屏发生。

我不再想要页面上的 popad,但我想拆开代码并找出代码中阻止 iframe 弹出的原因。我只是不太懂javascript

下面是完整的 popad 的 javascript 代码:

    <!-- PopAds.net Popunder Code -->
<script type="text/javascript" data-cfasync="false">
/*<![CDATA[/* */
  var _pop = _pop || [];
  _pop.push([' . "'siteId'" . ', 1234567]);
  _pop.push([' . "'minBid'" . ', 0]);
  _pop.push([' . "'popundersPerIP'" . ', 0]);
  _pop.push([' . "'delayBetween'" . ', 0]);
  _pop.push([' . "'default'" . ', false]);
  _pop.push([' . "'defaultPerDay'" . ', 0]);
  _pop.push([' . "'topmostLayer'" . ', false]);
  (function() 
    var pa = document.createElement(' . "'script'" . '); pa.type = ' . "'text/javascript'" . '; pa.async = true;
    var s = document.getElementsByTagName(' . "'script'" . ')[0]; 
    pa.src = ' . "'//c1.popads.net/pop.js'" . ';
    pa.onerror = function() 
      var sa = document.createElement(' . "'script'" . '); sa.type = ' . "'text/javascript'" . '; sa.async = true;
      sa.src = ' . "'//c2.popads.net/pop.js'" . ';
      s.parentNode.insertBefore(sa, s);
    ;
    s.parentNode.insertBefore(pa, s);
  )();
/*]]>/* */
</script>
<!-- PopAds.net Popunder Code End -->

【问题讨论】:

【参考方案1】:

您可以看到下面的代码。它在同一选项卡中打开页面,如果 url 不包含您的网站名称,则它不会打开它并打开您指定的页面。希望对你有帮助!

<html>
<head>
<script type="text/javascript">
function navigate(url)

    var iframe = document.getElementsByTagName( "iframe" )[0];
    if(url.indexOf("yorkshirepost")>=0)
     iframe.src = url;
    else 
     iframe.src="http://www.yorkshirepost.co.uk/";

</script>
</head>

<body>

<a href="javascript:navigate('http://www.yorkshirepost.co.uk/')">News1</a>
<a href="javascript:navigate('http://www.foxsports.com/soccer/')">News2</a>



<iframe name="main_frame" scrolling="yes"   src="http://www.yorkshirepost.co.uk/"></iframe>

</body>
</html>

【讨论】:

以上是关于防止 iframe 点击进入 url Javascript的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 iframe(跨域)内的点击?又名防止点击欺诈

防止子 iframe “跳出框架”

跟踪 <iframe> 内的用户点击(Wiki 游戏)

jquery地址和iframe

防止从元素到窗口的滚动冒泡

$state.go 没有改变 URL