我正在尝试创建一个发现页面正在加载的函数,它将从服务器加载Json,然后在加载Json数据之前更改正在加载的页面中的html。
到目前为止,我已经提出了这个解决方案,但是,我无法找到一种方法来获取正在加载的页面的名称,以确定应该使用哪种类型的数据和html数据注入(页面处理程序) )。
是否有人碰巧知道我可以用来确定" pagebeforecreate"的页面名称/ ID的功能或方法。事件?或者更好的是,在页面加载时执行html注入的更好方法是什么?
$(document).on("pagebeforecreate", function(event) {
var loadingPage = //NEED FUNCTION FOR PAGE BEING LOADED
var print = "";
if (at == "createAccountPage") {
$.getJSON('http://71.162.197.6/iGotChu/php/listUsers.php', function(jsonData) {
alert("hello");
});
document.getElementById("usersList").innerHTML = print;
}
});
答案 0 :(得分:0)
我自己找到了答案。解决方案非常简单,并且没有明确地放在任何Api上,或者至少我无法找到它。
在事件对象内部,它是" pagebeforecreate"的回调函数。 function,有一个字段指示正在加载的页面的id。
$(document).on("pagebeforecreate",function(event){
例如,在此剪辑中,回调函数传递事件对象。您可以使用console.log(event)函数来显示对象的元素。如果我可以发布图片,您可以看到对象的元素。在那里,有一个id字段正在加载页面。有了它,您可以将其用作页面处理程序,以便在创建下一页之前为其执行特定注入。
这是最终的代码。
$(document).on("pagebeforecreate",function(event){
var nextPage = event.target.id;
var print = "";
if (nextPage=="createAccountPage"){
$.ajax({
url: '~your URL',
dataType: 'json',
async: false,
success: function(data) {
for (i=0;i<10;i++){
print = print + "<li><a href='index.html'><img src='images/album-bb.jpg' /><h3>Broken Bells</h3><p>Broken Bells</p></a></li>";
}
document.getElementById("usersList").innerHTML = print;
print = "";
}
});
}
});
**更重要的是,如果您尝试进行JSON调用,则调用必须是异步字段中设置的同步。这是因为调用必须在创建页面之前阻止和加载数据。如果不这样做,页面将在javascript到达之前加载并应用样式。