0
我正在構建一個填充了iFrame內容的模式。在那個模式裏我有一個Dropbox上傳功能。我試圖做的是當有人成功上傳圖片並點擊「關閉」按鈕,信息被髮回到原始網站。然後我可以顯示一個帶有「圖片上傳」或其他東西的好按鈕。 問題是,我不斷收到一個錯誤說SyntaxError: An invalid or illegal string was specified..... window.parent.postMessage('close', url);
iFrame不回發postMessage
Iframe所網址:
http://www.webshop.com/dropboxupload/?id=1042013-72374&url=http://www.website.com/&place=0#
代碼:
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value){vars[key] = value; });
return vars;
}
function close_parent(){
var url = getUrlVars()["url"];
//console.log(url);
window.parent.postMessage('close', url);
}
當我在代碼中使用的console.log我得到的只是「htt」沒有其他的網址。
的HTML關閉按鈕:
<a class="close uploadbutton" onclick="javascript:close_parent();" href="#">Voltooien</a>
返回到原來的站點時,該代碼:
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
var url = window.location.href;
eventer(messageEvent,function(e) {
if(e.data == 'close'){
up_popover_hide();
var urlIframe = $('iframe#upload').attr("src");
var indexPlace = getUrlVars(urlIframe)["place"];
var idUpload = getUrlVars(urlIframe)["id"];
$('.placeholder.index_'+indexPlace+' .upload_'+idUpload).html('File uploaded!');
}else{}},false);
我實在看不出有什麼我做錯了,做不理解爲什麼我只是得到「htt」而不是完整的url。
任何幫助非常感謝!
http://danheberden.com/share/feec82.png –
@丹Heberden:好的thx爲您的答案。那麼怎麼了?我不明白爲什麼這不應該工作!有什麼建議麼? – Meules