我有一個iframe,我正在使用一個帶有一些變量的url創建,這些變量是作爲GET傳入的。是否可以設置源頁面並將變量作爲POST或其他東西傳入?或者真的,如果可以以某種方式獲取存儲在父級中的變量,那麼我也會很好。將值傳遞到iframe中,而不是使用GET
6
A
回答
5
從iframe中使用window.parent
。
在父窗口中:
window.passingObj = { "key" : "value" };
在iframe:
alert(window.parent.passingObj["key"]); // value
0
如果您只需要javascript訪問,那麼您可以使用hash
。
iframe.src="http://foo.bar/#arg1=1&arg2=2";
然後在頁面中,您只需從location.hash.substring(1)
中提取它們。
這是獲得這些ARGS成 '地圖' 樣板代碼:
(從我的圖書館easyXDM)
var query = (function(input){
input = input.substring(1).split("&");
var data = {}, pair, i = input.length;
while (i--) {
pair = input[i].split("=");
data[pair[0]] = decodeURIComponent(pair[1]);
}
return data;
}(location.hash);
query.arg1; // 1
query.arg2; // 2
1
兩個有用的帖子:
iframe accessing parent DOM?(IFRAME於母公司)
Invoking JavaScript code in an iframe from the parent page(iframe的父級)
0
如果兩個頁面位於同一個域中,可以訪問使用iframe在容器頁面中定義的變量
parent.varName
0
可以使用變量和方法從簡單地使用父對象iframe的父窗口;舉例來說,如果你有這樣的父窗口:
var someObject = {key1:'value1' , key2:'value2'};
function test(key)
{
alert(someObject[key]);
}
你可以在孩子的iframe這樣做:
parent.test('key1');
alert(parent.someObject.key2);
請記住,如果iframe和其父屬於它是唯一可能同域 (同源策略)。
0
對於你所說的我收集你不想使用url來傳遞你的參數。
取決於執行的JavaScript這裏你有以下選擇:
如果容器窗口中執行,你會做這樣的事情
... var el = document.getElementById('targetFrameId'); getIframeWindow(el).someFunction('value1', 'value2', ...); // or getIframeWindow(el).someVariable = {key1:'value1', key2:'value2', ...}; ...
如果在iframe窗口中執行你會做這樣的事情
... window.parent.something ... ;
附件
function getIframeWindow(iframe_object) {
var doc;
if (iframe_object.contentWindow) {
return iframe_object.contentWindow;
}
if (iframe_object.window) {
return iframe_object.window;
}
if (!doc && iframe_object.contentDocument) {
doc = iframe_object.contentDocument;
}
if (!doc && iframe_object.document) {
doc = iframe_object.document;
}
if (doc && doc.defaultView) {
return doc.defaultView;
}
if (doc && doc.parentWindow) {
return doc.parentWindow;
}
return undefined;
}
相關問題
- 1. 通過URI將值傳遞給函數(而不是GET方法)
- 2. 傳遞javascript變量到php代碼而不使用GET參數?
- 3. IFrame傳遞值
- 4. 將textarea的值從iframe傳遞到父窗體而不點擊提交
- 5. 將值從iframe傳遞到不同域或端口的父項
- 6. 將值傳遞給調用者而不使用`return`
- 7. UNIX:將值傳遞給IF條件而不是值
- 8. FactoryGirl傳遞'nil'而不是值
- 9. 將模態iframe中的值傳遞給父iframe
- 10. 如何使用JavaScript將值傳遞給iFrame?
- 11. 何時將邏輯放在類中而不是將類傳遞到實用類?
- 12. 將會話從gwt傳遞到iframe
- 13. 如何將url參數傳遞到iframe?
- 14. 將ASP.Net MVC中的ViewModel從View傳遞到不同的視圖使用Get
- 15. 將值從視圖傳遞到控制器而不使用表單/字段
- 16. 將值從視圖傳遞到控制器而不使用<form> codeigniter
- 17. 將數據傳遞到不同域中的iframe
- 18. 如何將集合傳遞給控制器的動作(而不是GET)
- 19. 無法使用get方法將imageid傳遞到其他頁面
- 20. 如何在PHP中將GET值傳遞給另一個url? GET值轉發
- 21. 將網址傳遞給iframe
- 22. 將參數傳遞給iframe
- 23. 將變量傳遞給Iframe
- 24. 背景將JavaScript加載到iframe中而不使用jQuery/Ajax?
- 25. 如何將散列值從頁面傳遞到iframe?
- 26. 如何使用curl GET而不是POST
- 27. 使用對象而不是GET
- 28. 在數組中傳遞變量,而不是javascript中的值
- 29. 如何將變量傳遞到下一頁而不將其傳遞到URL或使用會話?
- 30. 在asp.net mvc中使用GET傳遞List值?