我在另一个wesbsite的页面上有iframe。但是当我点击iFrame里面的任何链接时。浏览器将用户移动到该站点。我怎么能限制它?该用户在我的页面上完成内部冲浪? 就像在这里完成一样。 http://www.hidemyass.com/
注意:iframe和父网页不是同一个域。
详细说明:
假设我有我的网站http://www.example.com,在获取凭据后,我想在iframe中打开facebook.com,用户在没有移动到facebook.com点击任何链接的情况下浏览Facebook。
PS。我以facebook.com为例。我要求任何网站。
答案 0 :(得分:1)
只使用javascript来执行http://www.hidemyass.com/所做的事情是不可能的,因为javascript是客户端。该站点很可能充当服务器代理...几乎,这意味着它需要服务器端通信(可能)。 (可能是他们因为处理流量而要求钱的原因)你可能需要AJAX这样做,这需要一台能够无限制地处理和访问其他服务器的服务器。任何免费服务器都不会轻易做到这一点,并且通常在跟踪通信的服务器上有一个策略。如果你还没有,你可能需要付钱给某人。如果它只是你,这就是吱吱声,但是流量越多就越贵。
也就是说,你可以看看沙箱模式提供的是否适合你。
<iframe sandbox><iframe>
要重新启用功能,请将它们添加到沙盒pramiters
来源:w3schools
<iframe sandbox="allow-forms"><iframe>
如果不满足,请使用onclick
和onchange
事件来阻止用户进行互动。使用可点击的元素或移动到其他页面。
<iframe onchange="function(){\
document.getElementsByTagName("iframe"[0].src =\
"http://facebook.com");\
}"></iframe>
或某种onclick防止默认。
首先它不安全所以为什么要停在那里。
访问iframe.contentDocument
并搜索并删除所有<a
... </a>
标记或仅删除您想要的标记。有一些删除子方法,你可以看到这样做。如果你想要更精明,你可以比较href&s,看看它是否属于国外网站。
答案 1 :(得分:0)
您可以尝试以下帖子中的代码: How to add click event to a iframe with JQuery
我想也许你可以使用.live()jquery函数,但可能是你不能:)我在网上浏览这个案例而.live()不起作用,但.bind()必须正常工作:)