页面ID和data-url属性之间有什么关系?它们之间是否有联系?更改data-url属性是否会影响页面?我的问题是,我使用changePage传递参数到某个页面,并在changePage中指定了data-url。进入该页面后,如果手动刷新页面,就会添加一个新页面,因为该页面的data-url与页面ID不同。即,data-url变成与页面ID相同。希望我表达清楚了。那我该怎么办,才能在手动刷新页面时替换页面呢?此外,能否有人解释一下JQM如何使用页面ID和data-url?谢谢。
data-url
属性用于跟踪页面元素的来源。如果没有明确设置,则嵌入到主应用程序文档中的所有页面都会将其 data-url
属性设置为页面 id
。唯一的例外是文档中的第一页。当您请求页面时,jQuery Mobile首先尝试在DOM中查找具有匹配 data-url
的页面。 如果它找不到这样的页面,那么它将执行Ajax请求并在DOM中加载新页面。$(document).on('pagehide', '#second-page', function(event, ui){
$(event.target).remove();
});
这样,当你移动到第一页时,第二页将从DOM中删除,你的问题就会得到解决。
或者:
使用:
$.mobile.changePage('car-details.html', {
data: {
id: this.id
}
});
changePage()
之前检查DOM中是否存在data-url等于第二个页面的ID,并手动删除。if ($("#second-page-id").length > 0 && $("#second-page-id").attr("data-url") === 'second-page-id' ) {
console.log('remove from DOM');
$("#second-page-id").remove();
}
data-url
在页面刷新时和页面上是相同的。因此,在 DOM 中,您没有具有相同 ID 但不同 data-url
的页面。 - Apostolos Emmanouilidis
data-url
的值更新的,该值是页面的id
。当您刷新时,如果没有指定值,它将使用页面id
更新浏览器的位置。 - Omardata-url
的概念。请注意浏览器的URL具有自定义的#
标签,这与页面的id
不同。但是一旦您刷新,data-url
将使用页面id
替换自定义值。代码在这里。 - Omarwindow.location.hash
中检索它,则可能会起作用。我仍需要进行测试。http://jsfiddle.net/Palestinian/EvkDH/show/ - Omar.html
文件中的页面。对于页面使用相同的ID会使事情变得复杂,最好使用唯一的ID。 - Omar