2016-10-13 4 views
1

実行時: MyPopWindow.postMessage( "Test"、 "mydomaine ');window.post script.google.comをポップアップメッセージ

が(プログラム):1 'DOMWindow' オン 'のpostMessage' を実行に失敗しました:提供対象 起源( 'mydomaine')ない 私はscript.google.com whith MyPopWindowにエラーが発生しています受信者のウィンドウの起点 に一致しています( 'https://script.google.com')。

ラン: MyPopWindow.postMessage( "試験"、 'https://script.google.com')。 私はMyPopWindow上のエラーを持っている:

のpostMessageを落とし

...ホストmydomaineからだったが、ホスト ます。https予想:// ****** - script.googleusercontent.com

mydomaine上のページで出典:

window.addEventListener("DOMContentLoaded", function() { 
 
    window.addEventListener("message", function(e) { 
 
     // wait for child to signal that it's loaded. 
 
     if (e.data === "loaded" && e.origin === iframe.src.split("/").splice(0, 3).join("/")) { 
 
      // send the child a message. 
 
      alert(e.data); 
 
     } 
 
    }) 
 
}, false)
WebAppのようruningて自分のGoogle Appsのスクリプトで

出典:

 document.addEventListener('DOMContentLoaded', function() { 
 
      // signal the parent that we're loaded. 
 
      window.parent.postMessage("loaded", "*"); 
 
      
 
      // listen for messages from the parent. 
 
      window.addEventListener("message", function(e) { 
 
      if(event.origin !== 'mydomain') return; 
 
        var message = e.data; 
 
        alert(message); 
 
      }, false); 
 
     });

答えて

0

このエラーメッセージは、AppスクリプトJavascript driver filesの1から来ています。 これは、ユーザーがpostMessageシステムを使用できないようにGoogleが追加した特別なセキュリティです。

Googleは、Windows /ドメイン間の通信に、受け入れられたプロトコルの1つ、つまりExecution APIを使用するよう強く求めているようです。 URLパラメータを渡すなどの他の方法を試みましたが、すべてのアプリケーションスクリプトが実行されているiframe内からアクセスできないため、これまでに何もできませんでした。

私はExecution APIが最善の策だと考えています。

+0

はい、そうです。 "Execution APIが最善の策だと私は信じています。" - いいえ:P – user144039

関連する問題