window.onload = function() {
var frames = document.getElementById("frame-main"); var doc = frames.contentWindow.document;
if (!doc.getElementsByTagName) return;
var anchors = doc.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href"))
anchor.target = "_self";
} };页面中有个iframe:<div id="bg-wrapper">
<iframe src="../../2010/Default.aspx" name="frame-main" id="frame-main" frameborder="0" height="100%" scrolling="auto" width="100%"></iframe>
</div>我的问题是我通过window.onload控制了这个iframe的所有超链接,但是当iframe这个页面操作的时候,也就是iframe可能变成了其他页面,这个时候前面设置的超链接为自身就不好使了这个应该怎么解决???当iframe刷新的时候还能控制它的所有超链接求大神帮忙
解决方案 »
- 搜索框问题
- 菜鸟求理解javascript对象的引用问题
- 推荐下jquery插件
- 请教一个sql语句求平均数的问题,在线急等,谢谢啦
- 如何改变下拉框的默认选中颜色【灰色】?
- 如何在表格的指定位置显示函数计算后输出的变量?
- 为什么新浪的BLOG编辑器的源代码,html的标签都是小写的,可市面上的编辑器,其源代码的标签却都是大写的?
- [急]电子商务网站,填写送货地址时,选择之前填写的地址,但是依然提示需要填写地址号码等几项,谢谢
- 再问如何得到iframe中页面中的html文本
- 【求救】正则判断用户名,只能为数字,字母,下划线,中文,且首字符不能为下划线和数字,且中文字符长度为{2,8},英文为{3,16}
- 麻烦帮看下,我这个代码有什么问题呢
- 如何学好javascript
function frameload() {
var frames = document.getElementById("frame-main"); var doc = frames.contentWindow.document;
if (!doc.getElementsByTagName) return;
var anchors = doc.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href"))
anchor.target = "_self";
} };这样会报错说var doc = frames.contentWindow.document;拒绝访问。。应该怎么修改
<html>
<head>
<meta charset="gb2312" />
<title></title>
<style>
</style>
</head>
<body>
<iframe src="2.html" frameborder="1" onload="fn(this)"></iframe>
<script type="text/javascript">
var fn = function(t){
var doc = t.contentWindow.document;
var anchors = doc.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
console.log(1)
if (anchor.getAttribute("href"))
anchor.target = "_self";
}
}
</script>
</body>
</html>
2.html<!DOCTYPE HTML>
<html>
<head>
<meta charset="gb2312" />
<title></title>
<style>
</style>
</head>
<body>
<a href="http://baidu.com/" target="_blank">baidu</a>
</body>
</html>
这样试试