我正在使用 phonegap 开发 Android 应用程序。我在我的应用程序上创建了一个最喜欢的部分,我使用 localstorage
将文件名的值设置为 1 。然后我创建了一个名为 fav.html 的页面并设置了 display
我列表的值 none
像这样:
<ul class="table-view">
<li class="table-view-cell" style="display: none;">
<a class="navigate-left padder" href="modele1.html" data-transition="slide-in" >item1</a>
</li>
<li class="table-view-cell" style="display: none;">
<a class="navigate-left padder" href="modele2.html" data-transition="slide-in" >item2</a>
</li>
</ul>
display
值 block
<script>
if (localStorage.getItem("modele1.html")==1){document.getElementsByClassName("table-view-cell")[0].style.display = 'block';}
if (localStorage.getItem("modele2.html")==1){document.getElementsByClassName("table-view-cell")[1].style.display = 'block';}
</script>
我已经检查过并且 localstorage
modele1.html
的值和 modele2.html
设置为 1
.该代码在 chrome 上运行良好,但是当我使用 phonegap 构建代码时,脚本不起作用。我什至手动将脚本添加到 fav.html
的末尾在 </body>
之前标记并重建应用程序,但它仍然无法在手机上运行?请帮助我,这很重要。
最佳答案
我不太确定,但我想到的一件事是您没有在等待 deviceready 事件。这对于 Cordova 可能是必需的,但对于 Chrome 则不需要,因为 Cordova 需要在启动期间加载实现,而 Chrome 已经提供了它。试试这个
<script>
document.addEventListener("deviceready", function () {
// alert("deviceready event");
if (localStorage.getItem("modele1.html")==1) {
// alert("1");
document.getElementsByClassName("table-view-cell")[0].style.display = 'block';
}
if (localStorage.getItem("modele2.html")==1){
// alert("2");
document.getElementsByClassName("table-view-cell")[1].style.display = 'block';
}
}, false);
</script>
如果它仍然没有按预期工作,您可以取消注释警报以查看执行是否到达那里。
关于javascript 在网络应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28398289/