我们想报告一些问题,我们正在开发使用Visual Studio社区2013开发Cordova应用程序的问题在Windows Phone 8.1中在运行时在index.html文件中添加新的代码行。似乎只有HTML标签被正确读取和执行,而不是执行JS(包含在标签中或直接在元素标签中,例如使用onclick事件)。我们在Android模拟器和物理设备上运行了相同的项目,它运行得很好。有人知道它是兼容性问题还是其他什么问题?感谢您的关注和帮助。
代码是:
INDEX.HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Tester</title>
<link href="css/index.css" rel="stylesheet" />
</head>
<body>
<input type="button" id="test" value="Prova x Emulatore wp" />
<!-- Cordova reference, this is added to your app when it's built. -->
<script src="cordova.js"></script>
<script src="scripts/platformOverrides.js"></script>
<script src="scripts/jquery-2.1.1.min.js"></script>
<script id="last_script" src="scripts/index.js"></script>
</body>
</html>
INDEX.JS:
(function () {
"use strict";
document.addEventListener( 'deviceready', onDeviceReady.bind( this ), false );
var logOb;
function onDeviceReady() {
navigator.notification.alert('ciao');
// Handle the Cordova pause and resume events
document.addEventListener( 'pause', onPause.bind( this ), false );
document.addEventListener('resume', onResume.bind(this), false);
document.getElementById('test').addEventListener('click', function () {
var el1 = '<input type="button" id="Prova" value="Ciao"/>',
el2 = '<script type="text/javascript">document.getElementById(\'Prova\').addEventListener(\'click\', function(){navigator.notification.alert(\'Ciao sono il bottone\')}, false);</script>';
$('#test').after(el1);
$('#last_script').after(el2);
}, false);
// TODO: Cordova has been loaded. Perform any initialization that requires Cordova here.
};
function onResume() { };
function onPause() { };
} )();
TrialCode小组。
答案 0 :(得分:0)
这看起来像一个JQuery问题,它在使用之前没有完全加载。
我总是检查DOM是否已准备好使用
$( document ).ready(......
然后检查设备是否已准备就绪。