body onload在galaxy选项卡上工作,但不是xt1080与cordova

时间:2015-06-08 20:59:46

标签: javascript android html5 cordova

<!DOCTYPE html>

    

    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
    <meta name="format-detection" content="telephone=no">
    <meta name="msapplication-tap-highlight" content="no">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    <link rel="stylesheet" type="text/css" href="css/index.css">
    <script type="text/javascript" src="cordova.js"></script>
    <script>
        function onLoad() {
            alert('onLoad');
        }
    </script>
    <title>Hello World</title>
</head>
<body onload="onLoad();">
    <div class="app">
        <h1>Apache Cordova</h1>
        <div id="deviceready" class="blink">
            <p class="event listening">Connecting to Device</p>
            <p class="event received">Device is Ready</p>
        </div>
    </div>
</body>

在xt1080上,显示无警报。

在galaxyTab上显示警报。

为什么这对xt1080不起作用?

我通过cordova create test后跟cordova platforms add android后跟cordova plugin add cordova-plugin-device来创建文件 然后将index.html修改为上面的内容。

xt1080:4.4.4

gt:4.2.2

1 个答案:

答案 0 :(得分:0)

更高版本的chrome对内联脚本的限制更多。

运行它并观察控制台输出。如果你得到一个&#34;拒绝执行内联事件处理程序&#34;输入消息然后添加&#39; unsafe-inline&#39;到config.xml文件的内容安全策略中的默认源。

<meta http-equiv="Content-Security-Policy" content="default-src 'self'   
data: gap: https://ssl.gstatic.com 'unsafe-inline' 
'unsafe-eval'; style-src 'self'; media-src *;">

有关政策的详细信息,请访问https://developer.chrome.com/extensions/contentSecurityPolicy

希望这会有所帮助。希利在坦帕。