我想在另一个页面的iframe内显示我的网站的页面。我的意思是你可以看到helper。html当你在导航main。php。但我想改变一些链接在helper.html关于一些条件设置在main.php.
通常的解决方案是获取helper.html的内容并在main.php中处理它,然后回显它。但它是服务器端,我希望这个过程是客户端。
是可能的JavaScript?
如果您的文件位于同一域,您可以使用top.frames
属性,而不是引用命名帧的window
对象:
假设顶部的HTML具有这样的结构:
<iframe name="main" /><iframe name="helper" />
内部主要:
top.frames["helper"].document.getElementById("linkID").href = "http://newlink.com";
如果使用AJAX,可以在回调处理程序中添加前面显示的代码。如果main.php
在更改时重新加载,请查看<script>
标签内的代码。
如果这些文件位于不同的域中,但您可以完全控制它们,则使用以下解决方案:
-
在主页面调用带有GET参数的iframe。例如:
<iframe src="foo.html?parameter=value" width="400" height="500"></iframe>
-
在iframe中使用Javascript解析GET参数并显示适当的内容:
// get the current URL var url = window.location.toString(); //get the parameters url.match(/'?(.+)$/); var params = RegExp.$1; // split up the query string and store in an // associative array var params = params.split("&"); var queryStringList = {}; for(var i=0;i<params.length;i++) { var tmp = params[i].split("="); queryStringList[tmp[0]] = unescape(tmp[1]); } // print all querystring in key value pairs for(var i in queryStringList) document.write(i+" = "+queryStringList[i]+"<br/>");
来源:http://www.go4expert.com/forums/showthread.php?t=2163
试试这个…
var myIframe = document.getElementById('SomeIFrame');
myIframe.src = 'www.joobworld.com';
如果两个帧都在同一域中,这是可能的。参见示例函数:在帮助框架中,假定link的id
为"link"
function ChangeLink()
{
var Helpframe = document.getElementById("Helpframe");
var innerDoc = Helpframe.contentDocument || Helpframe.contentWindow.document;
var link = innerDoc.getElementById("link");
link.href="http://www.google.com";
}
这个解决方案的灵感来自Javascript -从iFrame中获取元素