我有一小段代码
$("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中的特定单词,并且该单词就像&#34; something.com&#34;我从属性文件中获取,现在如果在用户点击的url中找到了这个something.com,那么我正在调用一个javascript函数,然后打开一个带有内部站点URL的新窗口,它正在照顾用户&#39 ;该页面的会话有这个something.com然后我重新加载页面&#34; href&#34;该用户实际点击了。
问题是它在所有浏览器的其他IE中运行良好,我的客户喜欢IE, IE直接转到绕过loadLifeCare方法的链接,并在控制台上给我这个错误
The value of the property 'loadLifeCare' is null or undefined, not a Function object
有什么可以暗示它为什么会发生吗?这段代码中有什么东西IE浏览器不明白,我觉得问题是关于window.open()也许但是我不确定而且我不知道如果是这样的话,甚至不知道任何替代方案。
请帮助我,告诉我你是否需要澄清任何事情......
答案 0 :(得分:2)
试试这个
live
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();
}
});
});