gpt4 book ai didi

javascript - 打开新窗口时 IE 浏览器出现问题

转载 作者:行者123 更新时间:2023-12-02 16:42:50 32 4
gpt4 key购买 nike

我有一小段代码

$("a").live("click",function(event) {
<% String lifeCare=LifeEventProperties.getInstance().getProperty("lifeCare");%>
var s="<%=lifeCare%>";
var href = $(this).attr('href');
if (href.indexOf(s) != -1) {
loadLifeCare(href) ;
event.preventDefault();
}
});

function loadLifeCare(href)
{
var wnd=window.open('/NASApp/benemain/LifeCareSite');
setTimeout(function() {
wnd.location.href = href;
}, 6000);
}

在我的jsp页面中,我使用jquery检查了url中的特定单词,该单词就像我从属性文件中获取的“something.com”,现在如果在url中找到了这个something.com用户点击了然后我调用一个 javascript 函数,该函数然后打开一个带有内部站点 url 的新窗口,该窗口负责处理该页面的用户 session ,该页面有这个 Something.com,然后我使用该用户实际的“href”重新加载该页面单击。

问题是它在所有浏览器的其他 IE 中都能正常工作,而且我的客户喜欢 IE,IE 直接转到绕过 loadLifeCare 方法的链接,并在控制台上给我这个错误

The value of the property 'loadLifeCare' is null or undefined, not a Function object 

有人能告诉我为什么会发生这种情况吗?这段代码中是否有 IE 不理解的内容,我感觉问题可能出在 window.open() 上,但我不确定,我也不知道如果是这种情况,甚至知道任何替代方案。

如果您需要任何澄清,请帮助我并告诉我..

最佳答案

试试这个

  1. 修复了已弃用的live
  2. 使用了更好的方法来打开窗口(您的方法很可能会拒绝访问;
  3. 将该函数移至使用之前,并将单击事件处理程序包装在加载处理程序中

function loadLifeCare(href) {
var wnd=window.open('/NASApp/benemain/LifeCareSite',"lifeCareWin");
if (wnd) setTimeout(function() {
window.open(href,"lifeCareWin");
}, 6000);
}

$(function() {
$("a").on("click",function(event) {
<% String lifeCare=LifeEventProperties.getInstance().getProperty("lifeCare");%>
var s="<%=lifeCare%>";
var href = $(this).attr("href"); // this.href might be useful too
if (href.indexOf(s) != -1) {
loadLifeCare(href) ;
event.preventDefault();
}
});
});

关于javascript - 打开新窗口时 IE 浏览器出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27355680/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com