在新标签页中打开来自不同域的iframe链接

时间:2015-02-21 00:13:51

标签: javascript html iframe javascript-events

这个问题适用于高级JavaScript程序员! - 抱歉我的英语不好:(

我们有以下情况:

---网站A给了我一个脚本。

---我把脚本放在网站B上(在index.html上)

---该脚本生成一个iframe,其中包含一个链接(< a>)

结果=>站点B包含一个ifame,其中包含一个链接,来自站点A

我想做的就是"要打开新标签中的链接" :d

我可以通过添加javascript属性target =" _blank"来做到这一点。但是我 CANT用javascript选择link(),因为iframe来自其他网站。出于安全原因,如果不是来自您的网站,浏览器不允许您访问iframe的内容。

我正在寻找某种黑客...... 我在想,如果玩事件会对我有帮助吗?

喜欢捕捉链接点击事件,而不是停止事件,而不是点击新事件以在新标签中打开链接。

或者抓住leftclick事件,停止事件,触发右键单击事件,从cotext菜单中选择"在新标签中打开链接" (所有这些都发生在用户左键单击链接时)

欢迎任何建议,我需要从不同的角度看待这个问题......

1 个答案:

答案 0 :(得分:0)

您可以使用代理。这是我使用的代码:

get.php

<?php
  // if no URL is submitted, exit
  if(!isset($_REQUEST['url'])){echo 'You did not specify a URL'; exit();}
  $url = $_REQUEST['url'];
  // instanciate the cURL connection
  $ch = curl_init();
  // set the URL
  curl_setopt($ch, CURLOPT_URL, $url);
  // this will allow you to print the content on your page
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  // this is to get the content type (for images for example)
  curl_setopt($ch,CURLOPT_HEADER,true);
  $res = curl_exec($ch);
  // seperate the headers and content
  list($headers,$content) = explode("\r\n\r\n",$res,2);
  // set the content type
  header('Content-type: '.curl_getinfo($ch,CURLINFO_CONTENT_TYPE));
  // display the results
  echo $content;
  // close the connection
  curl_close($ch);
?>

您可以通过传递链接来使用它:

http://yourdomain.com/get.php?url=http%3A%2F%2Fotherdomain.com%2Fpage.html%0D%0A

如您所见,传递的网址应为urlEncoded。另请注意,其他页面中的任何相对路径都将无法加载(您可以通过用绝对路径替换任何相对路径来改善这一点。)