我正在尝试使用AJAX请求的结果填充组件的html,它可以工作......但只是第一次。这适用于一个phonegap应用程序,它试图在应用程序上“封装”一个Web。我告诉你我的代码,然后我会更好地解释。
function loadPage(rute, callback)
{
console.log("ruta: " + rute);
jQuery.get(rute, function(htmlTemplate)
{
var data = eraseExtraContentExternalPages(jQuery(htmlTemplate).filter("#wrapper"));
data = eraseLinksExternalPages(data);
console.log("#############BODY(wrapper)############# " + data.html());
jQuery('body').html(data.html());
});
}
function eraseExtraContentExternalPages(data)
{
data.find('#secondary').remove();
data.find('#dd_ajax_float').remove();
data.find('#author-bio-box').remove();
data.find('.googlepublisherpluginad').each(function(index){jQuery(this).remove();});
return data;
}
function eraseLinksExternalPages(data)
{
data.find("a").each(function(index)
{
var a = jQuery(this);
var href = a.attr("href");
if(href && href.indexOf(".jpg")==-1 && href.indexOf(".gif")==-1 && href.indexOf(".png")==-1 && href.indexOf(".jpge")==-1)
a.attr("href","javascript:loadPage('"+ href +"');");
});
return data;
}
我做了什么(我认为很简单),我试图在应用程序上设置许多令人讨厌的html元素,并且在更改了“a”元素的href属性之后,对于javascript操作(loadPage),以及它似乎工作,因为我可以看到loadPage函数的第一个console.log(当我按下一个链接时)rute是如何正确的,在第二个console.log上我可以看到data.html的所有内容在logcat上(带有eclipse),但屏幕保持白灰色,左上角有一个小方块......
任何想法?为什么我在日志上看到的html不会加载到正文?
非常感谢!!