2

次のような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が正しく読み込まれていないようです。どうすればそれを機能させることができますか?

ありがとう。

4

1 に答える 1