別のドメインにある iFrame にアップロード スクリプトがあります。data
iFrame が埋め込まれているページにファイルのアップロードを送信しようとしています。
iFrame (アップロード スクリプト) に次のコードがあります。
$('#file_upload').uploadify({
//JS CODE
'onUploadSuccess' : function(file, data, response) {
data //data is what must be passed from the iFrame to the script on another site
}
});
data
は、別のドメインの次のスクリプトに渡す必要があるものです。
var myframe, nestedFrame;
myFrame = $('#editorf').contents().find('body');
nestedFrame = myFrame.find('#re_contentIframe').contents().find('body');
nestedFrame.append('data'); //data should be replaced with the information from the iFrame
私は次のコードを試みました:
iFrame コード - ページ B
$('#file_upload').uploadify({
//JS CODE for UPLOADIFY
'onUploadSuccess' : function(file, data, response) {
window.postMessage('http://iframe-domain.net/uploads/' + data,'http://iframe-domain.net');
}
});
ページ コードの受信 - ページ A
$(function() {
window.addEventListener('message', receiver, false);
function receiver(e){
if (e.origin == 'http://iframe-domain.net'){
var myframe, nestedFrame;
myFrame = $('#editorf').contents().find('body');
nestedFrame = myFrame.find('#re_contentIframe').contents().find('body');
nestedFrame.append(e.data);
}
}
});
これはうまくいきません。次のエラー メッセージが表示されます。
Error: Permission denied to access property 'toString'
...a);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$...
jquery.uploadify.js (line 17)
ファイルがアップロードされると、uploadify スクリプトは機能しますが、ページにデータを渡すようには見えません。このエラーがページが機能しない理由であるとは確信できません。
どうすればいいですか?
編集
ここでよりよく説明するために、例を示します。
ユーザーがページ A (メイン ページ) に移動します。ページ A では、そのページに iFrame が埋め込まれています。iFrame 内には、ユーザーがファイルをアップロードできるようにするための uploadify スクリプトがあります。
ユーザーがファイルをアップロードすると、uploadify スクリプトがファイル名を返します。例: 528050f030522.jpg
. uploadify スクリプトがこの情報を取得すると、それをページ A のスクリプトに送信し、ページ A のスクリプトが実行され、ファイル名がページに挿入されます。