我有一个jQuery DOMWindow,它在我的一个网页上加载了AJAX。由于各种技术原因,我必须使用AJAX而不是iFrame来加载内容。目前,位于DOMWindow内的任何超链接都会导致浏览器重新加载新页面,而不是简单地打开同一DOMWindow中的内容。
有没有办法在同一个DOMWindow中打开超链接。我尝试在超链接代码中包含target="_self"
。
这是我的jQuery DOMWindow的配置:
$('.AjaxDOMWindow').openDOMWindow({
anchoredClassName:'DOMWindow',
draggable: 1,
eventType:'click',
height:500,
loader:1,
loaderHeight:16,
loaderImagePath:'/js/jquery/DOMWindow/animationProcessing.gif',
loaderWidth:17,
positionLeft:0,
positionTop:0,
positionType:'centered',
width:700,
windowHTTPType:'get',
windowSource:'ajax'
});
这是有问题的超链接:
<a href="/foo/foo/edit_map_pin_more.htm?mAddressBox0=FALSE&width=800&height=600&mPin_ID=5"><b>View More Icons</b></a>
答案 0 :(得分:1)
我认为调用Dom窗口插件没有绑定到锚标签。 我将上面的函数放在document.ready函数中,该函数在dom加载后绑定并且有效。
$(document).ready(function(){
$(AjaxDOMWindow ).openDOMWindow({
anchoredClassName:'DOMWindow',
draggable: 1,
eventType:'click',
height:500,
loader:1,
loaderHeight:16,
loaderImagePath:'/js/jquery/DOMWindow/animationProcessing.gif',
loaderWidth:17,
positionLeft:0,
positionTop:0,
positionType:'centered',
width:700,
windowHTTPType:'get',
windowSource:'ajax'
});
});
答案 1 :(得分:0)
我想问题是真正意义上的没有窗口。主页面内只有div
作为DOMWindow。因此,该div中的任何链接肯定会刷新主文档。
保持所有内容相同并添加:
$('.AjaxDOMWindow a').live("click", function(){
$(this).openDOMWindow({
anchoredClassName:'DOMWindow',
draggable: 1,
eventType:'click',
height:500,
loader:1,
loaderHeight:16,
loaderImagePath:'/js/jquery/DOMWindow/animationProcessing.gif',
loaderWidth:17,
positionLeft:0,
positionTop:0,
positionType:'centered',
width:700,
windowHTTPType:'get',
windowSource:'ajax'
});
});