0

問題は、openSeadragon プロジェクトに Annotorious を追加することです。 http://annotorious.github.io/demos/openseadragon-preview.html このプラグインを開始するには、次のオプションがあります。

<script>
  function init() {
    anno.makeAnnotatable(document.getElementById('myImage'));
  }
</script>
...
<body onload="init();">
  <img src="example.jpg" id="myImage" />
</body>

ここに問題があります。これらを使用して、ビューアー ブロックでの JavaScript の読み込みを遅らせます。

<script type="text/javascript">
 if (window.addEventListener)
        window.addEventListener("load", downloadJSAtOnload, false);
    else if (window.attachEvent)
        window.attachEvent("onload", downloadJSAtOnload);
    else window.onload = downloadJSAtOnload;
</script>
onload="init();" を追加したら 私のコードに。ビューアーは機能しません。

これら2つの間に競合はありますか?もしそうなら、それを解決する方法は?

4

3 に答える 3

0

load イベントが発生すると、次の 2 つのことを実行しようとしています。

  • 呼び出しますinit(これは、 を呼び出しますanno.makeAnnotatable)
  • anno.makeAnnotatable利用可能にする JavaScript を非同期的にロードする

関数が存在する前に関数を呼び出すことはできません。トリガーinitする JS の読み込みが完了するまで、の呼び出しを遅らせる必要があります。downloadJSAtOnload(その詳細は、どのように機能するかによって異なりますdownloadJSAtOnload)。

于 2016-03-28T10:45:58.033 に答える