【问题标题】:local storage index.js cordova本地存储 index.js 科尔多瓦
【发布时间】:2023-03-13 00:08:01
【问题描述】:

我正在关注tutorialpoints.com 上的cordova 教程。

在第 2 步添加事件侦听器以设置和显示本地存储有一句我不太容易理解的句子:“Cordova 安全策略不允许内联事件,因此我们将在 index.js 文件中添加事件侦听器。”

这是什么意思?我应该把这些放在 index.js 的什么地方?

document.getElementById("setLocalStorage").addEventListener("click", setLocalStorage);
document.getElementById("showLocalStorage").addEventListener("click", showLocalStorage);
document.getElementById("removeProjectFromLocalStorage").addEventListener("click", removeProjectFromLocalStorage);
document.getElementById("getLocalStorageByKey").addEventListener("click", getLocalStorageByKey);

var localStorage = window.localStorage;`

在变量应用程序内部但在函数外部,还是在任何函数内部?

快把我逼疯了!!!!

【问题讨论】:

  • 我认为内联就像<button onclick="setLocalStorage();">whatever</button>

标签: javascript android iphone cordova


【解决方案1】:

你应该把它放在文档里像这样

  document.addEventListener("DOMContentLoaded", function(event) {
document.getElementById("setLocalStorage").addEventListener("click", setLocalStorage);
document.getElementById("showLocalStorage").addEventListener("click", showLocalStorage);
document.getElementById("removeProjectFromLocalStorage").addEventListener("click", removeProjectFromLocalStorage);
document.getElementById("getLocalStorageByKey").addEventListener("click", getLocalStorageByKey); 
}

【讨论】:

  • var app = { initialize: function() {document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);}, onDeviceReady: function() {this.receivedEvent( 'deviceready');}, receivedEvent: function(id) {var parentElement = document.getElementById(id); var listenerElement = parentElement.querySelector('.listening'); var receivedElement = parentElement.querySelector('.received'); listenElement.setAttribute('style', 'display:none;'); receivedElement.setAttribute('style', 'display:block;'); console.log('收到的事件:' + id);}}; app.initialize();
  • 你可以把它放在任何地方。但是 in var 应该有利于构建目的。
  • 使用此链接存储库可能会对您有所帮助:github.com/phonegap/phonegap-start
  • 谢谢一百万。我应该把var localStorage放在哪里,也在document.addEventListener(“DOMContentLoaded”,function(event){}?
  • 是的,如果您想在页面加载时初始化,您可以在同一事件中添加它。欢迎您,如果您认为此答案有帮助,请接受并投票。
猜你喜欢
  • 2013-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-15
  • 1970-01-01
相关资源
最近更新 更多