我正在尝试使用子JavaScript应用程序来更新它的父文档。
从本质上讲,这是一个非常简单的问题:
在无数的网页中,有使用如下技巧的说明:
window.parent.location.hash = "#" + string
但是当我在IE中这样做时,父母似乎在刷新自己。我认为该页面正在重新加载。
只是为了让这有点棘手:
我已尝试在各种网页上列出一些其他技巧,但到目前为止,似乎没有任何东西看起来稳定且简单,无法实际部署。
答案 0 :(得分:1)
根据您的浏览器使用element.scrollIntoView
或scrollTo
。
答案 1 :(得分:0)
我在我的应用中找到了以下JavaScript(由GWT生成):
function $initUrlCheckTimer(this$static){
var historyImplRef = this$static;
var urlChecker = function(){
$wnd.setTimeout(urlChecker, 250);
var hash = getLocationHash();
if (hash.length > 0) {
var token = '';
try {
token = historyImplRef.decodeFragment(hash.substring(1));
}
catch (e) {
$wnd.location.reload();
}
var historyToken = ($clinit_75() , $wnd.__gwt_historyToken || '');
if (historyToken && token != historyToken) {
$wnd.location.reload();
}
}
}
;
urlChecker();
}
我注意到GWT中的顶级文档调用了一个应用程序(生成的代码首先将父级分配给$ wnd,其中$ wnd.location是我的实际URL)。
我在想什么(我可能错了)是GWT历史记录涉及观看__gwt_historyToken,直到它发生变化,然后更新应用程序。如果父位置发生变化,“其他东西”似乎也会强制重新加载。我不能只是改变文档位置,不能以某种方式将它与这个GWT代码集成。