次のようなqrcファイルがあります。
<qresource prefix="/web">
<file alias="assets.js">../web/assets.js</file>
<file alias="index.html">../web/index.html</file>
</qresource>
assets.js内でアラート ポップアップの関数を追加するだけです。
function myFunction()
{
window.alert("Hello from assets.js");
}
index.html内にアラート ポップアップ用の別の JavaScript を追加し、assets.jsをロードして 2 つのボタンを追加します。1 つ目は外部 JavaScript ファイル ( assets.js ) からウィンドウ ポップアップを呼び出し、2 つ目はindex.htmlファイルに埋め込まれた JavaScript を呼び出します。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function localFunction()
{
window.alert('HTML loaded');
}
</script>
<script src="assets.js"></script>
<button onclick="myFunction()">External JS</button>
<button onclick="localFunction()">Local JS</button>
</body>
</html>
今、qtwebkit でindex.htmlを読み込もうとしているとき:
webView->load(QUrl(QStringLiteral("qrc:/web/index.html")));
index.htmlが正常にロードされていることがわかります (2 つのボタンが表示されます)。ローカル (html が埋め込まれた) JavaScript を呼び出すボタンをクリックすると、機能します。2 番目のボタンをクリックしても何も起こりません。
外部のassets.jsが正しく読み込まれていないようです。どうすればそれを機能させることができますか?
ありがとう。