我正在使用 jQuery Mobile 构建一个移动网络应用程序。我面临一些非常奇怪的问题。
页面与标准标签相连。每当我点击一个链接时,地址栏中的位置会发生变化,我确实会被重定向到新页面,但为了让页面呈现某些内容,我需要使用 Cntrl+F5 显式刷新它或单击刷新浏览器按钮。我试过 FF11 和 Chrome。这是一个已知的问题?
谢谢
我正在使用 jQuery Mobile 构建一个移动网络应用程序。我面临一些非常奇怪的问题。
页面与标准标签相连。每当我点击一个链接时,地址栏中的位置会发生变化,我确实会被重定向到新页面,但为了让页面呈现某些内容,我需要使用 Cntrl+F5 显式刷新它或单击刷新浏览器按钮。我试过 FF11 和 Chrome。这是一个已知的问题?
谢谢
我相信我确切地知道您正在经历什么,因为我的期望是页面就绪/加载事件会触发。有很多方法可以解决这个问题,例如:
首先,您可以简单地在源页面中添加以下子句以链接到目标页面:
rel = "external"
这将导致目标页面刷新并触发那些我认为具有您想要执行的 javascript 代码的页面加载事件。但是,您可能不希望页面表现出这种行为,所以......
另一个选择是向源页面添加一些脚本,当目标页面变为活动(或“活动”)时将触发该脚本:
$( '#YourTargetPageName' ).live( 'pageinit', function(event){
alert( 'Hello from the TargetPage' );
$('#SomeInputField').val('Changed text in the target page');
});
在上面的示例代码中,当您链接到目标页面时,它将显示弹出警报并更改所选输入字段的文本。
最后,如果您想在任何页面的开头执行相同的代码,那么您将添加以下脚本:
$(document).delegate('.ui-page', 'pageshow', function () {
alert( 'Hello from the beginning of every page' );
});
您可以在 JQM 文档中探索许多其他选项(公平地说,我只是触及表面,因此有些选项可能更适合您的目的):