北极寒流 » 网络资源 » 跨域修改iframe(框架)中的文字内容 - 2012.06.04

跨域修改iframe(框架)中的文字内容

跨域修改iframe(框架)中的文字内容。有的时候我们需要在自己网站上利用iframe(框架)功能框住外部网站一个页面,而且出于某种目的,有时还想把被框架的网页替换掉部分文字,这就需要解决iframe(框架)跨域问题了,在网上找的一段代码,收集备忘。

首先需要修改iframe加载方式

<iframe frameborder="0" scrolling="no" src="replace.php?http://wiki.maxthon.com/maxthon/" width="500" height="250"></iframe>

然后再利用一段JS来替换内容

<script type="text/javascript">
document.getElementsByTagName("iframe")[0].src="replace.php?"+document.getElementsByTagName("iframe")[0].src;
</script>

replace.php文件的写法

<?php
$site=$_SERVER['QUERY_STRING'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $site);
$content  = curl_exec ($ch);
curl_close ($ch);
$content=str_replace("browser","崔凯到此一游",$content);
//将iframe对方页面的browser替换为崔凯到此一游
echo $content;
exit;

?>

其中的str_replace函数甚至可以批量替换内容

$replacements = array(
    "原词1" => "替换词1",
    '原词2' => '替换词2',
    '原词3' => '替换词3'
);
$content=str_replace(array_keys($replacements), $replacements, $content);

资料来源:http://uicss.cn/cross-domain/

04

跨域修改iframe(框架)中的文字内容

分享到:

最受欢迎的