機械翻訳について

メディア・ツールバーAPIのロード方法

svcMca.tlb.apiネームスペースの下にあるツールバーAPIモジュールを見つけて、すばやく明確に識別し、同様のJavaScript関数との競合を回避します。 API JavaScriptファイルをロードするには、次の2つのパラメータをiFrameソース・ツールバーURLに連結します:

  • oraParentFrame: プロトコルおよびポートを含むOracleインスタンスの起点を表します。 たとえば、https://mypodinstance.oraclecloud.com:12345です。

  • oraApiSource: ツールバーAPIのJavaScriptファイルをロードできるパス(先頭のスラッシュを含む)を表します。 たとえば、/service/js/mcaInteractionV1.jsです。

  • oraTbStyle: ツールバーがライブ・ウィンドウに表示されるかどうかを示します。oraTbStyle=LiveWindowは、ツールバーがライブ・ウィンドウに表示されていることを示します。表示されない場合は、値がアプリケーション・ページに表示されることを示す埋込みに設定されます。

次に、MCA Javascriptを動的にロードする例を示します:

<script type="text/javascript"
id="dynamicLoadScript">
	 (function() {
    window.dynamicLoadCompleted = false;
    window.staticLoadCompleted = false;
    console.log("##DLS: Running DynamicLoadScript to load the Oracle API
JS...");
    function getParameterByName(name) {
      var match = RegExp('[?&]' + name +
'=([^&]*)').exec(window.location.search);
      return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
    }
    var oraApiPath = '';
    var oraOrigin = getParameterByName('oraParentFrame');
    var oraApiSource = getParameterByName('oraApiSource');
    console.log('##DLS: PageParameters - oraParentFrame: '+oraOrigin+'
oraApiSource: '+oraApiSource);
    try {                
      if (oraApiSource && oraApiSource.startsWith("http")) {
        oraApiPath = oraApiSource; //handle case where apiSource is loaded
from external CDN
      } else {
        oraApiPath = oraOrigin+oraApiSource;
      }
      console.log('##DLS: Oracle API JS URL: '+oraApiPath);    
    } catch (e) {
      console.log('##DLS: Error '+e);
      console.error(e);
    }
    function onDynamicLoadComplete() {
      /* TODO INSERT ANY INIT PROCESSING HERE */

    }
    if (typeof define === 'function' && define.amd) {
      try {
        require([oraApiPath], function (mcaTlb) {
          window['svcMca'] = {};
          window.svcMca['tlb'] = mcaTlb;
          window.dynamicLoadCompleted = true;
          console.log('##DLS: Successfully loaded Oracle API JS');
          onDynamicLoadComplete();
        });
      } catch (e) {
        console.log('##DLS: Error loading ORACLE API JS from URL:
'+oraApiPath);
        console.error(e);
      }
    } else {
      var currentNode = document.getElementById('dynamicLoadScript');
      var node = document.createElement('script');
      node.type = 'text/javascript';
      node.charset = 'utf-8';
      node.async = true;
      node.src = oraApiPath;
      node.addEventListener('load', function(evt) {
          window.dynamicLoadCompleted = true;
          console.log('##DLS: Successfully loaded Oracle API JS');
          onDynamicLoadComplete();
      }, false);
      node.addEventListener('error', function(evt) {
          console.log('##DLS: Error loading ORACLE API JS from URL:
'+node.src);
      }, false);
      currentNode.parentNode.insertBefore(node, currentNode.nextSibling);
    }
  })();
</script>