IFrame通过JavaScript进行页面跳向 chrome可以跳转而IE报错

本文讨论了一个在IE浏览器下使用javascript函数进行页面跳转时遇到的问题,通过添加target属性,成功在iframe中显示目标页面内容。详细介绍了问题原因及解决方案。

<li id="li_01" class="grayMask" ><a id="a_01" href="javascript:userDetail()" class="link_01" target="tar" >注册信息查看</a></li>

就是这样一句话,问题就在于target属性。我是希望页面能在一个iframe中去显示,所以加上了target属性。

如果是直接给<a>标签加上href属性进行跳转的话,没有问题。但是使用javascript函数来进行跳转,就会在IE下报错,chrome可以通过。

这是我的js函数:

function userDetail(){
	window.tar.location.href = context + "/user/findUserById.ao?method=userDetail&userId=" + userId;
}

已经是第二次出现了 记下来以免以后再出现问题!



当在Node.js环境中尝试操作浏览器元素,比如使用iframe,可能会遇到`Cannot read properties of undefined (reading 'frame')`这样的错误。这是因为Node.js本身并不是用来操作浏览器环境的,它是一个基于Chrome V8引擎的JavaScript运行时,常用于构建服务器端应用,而不是客户端渲染。 在Node.js中,你可能试图通过`document`对象来操作HTML DOM,但如果你的代码是在一个没有实际浏览器窗口、DOM加载或者没有访问权限的上下文中执行,`document`对象就会是`undefined`,从而导致读取`frame`属性出错。 这个问题通常出现在以下几种情况: 1. 你可能在一个没有打开浏览器环境的Node.js服务中尝试操作DOM,这通常是异步的,你需要确保正确地处理回调或使用async/await。 2. 如果你使用了像`puppeteer`这样的库来模拟浏览器,确保已经正确初始化了浏览器实例,并且iframe已经被加载和找到。 3. 跨域问题:如果你尝试访问的iframe源与当前页面不同,可能因为同源策略限制而无法直接访问。 要解决这个问题,你应该检查以下几点: 1. 确保你的代码是在一个支持DOM操作的上下文中执行,如浏览器环境或者puppeteer等库的实例。 2. 确认iframe是否已经正确加载并且`document.getElementById/querySelector`能找到对应的节点。 3. 检查跨域问题,如果是跨域iframe,可能需要处理CORS或者使用代理服务器。 如果需要更详细的帮助,提供具体的代码片段和错误上下文会更有助于诊断。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值