我有一個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. 將ASP.NET值傳遞到外部Web服務器iframe使用GET
- 2. 通過URI將值傳遞給函數(而不是GET方法)
- 3. 將值傳遞到函數而不使用PHP中的參數?
- 4. 傳遞javascript變量到php代碼而不使用GET參數?
- 5. IFrame傳遞值
- 6. iOS傳遞值而不是引用
- 7. 將textarea的值從iframe傳遞到父窗體而不點擊提交
- 8. 使用POST而不是GET
- 9. 使用{set; get;}而不是{get;設置;}
- 10. 將值從iframe傳遞到不同域或端口的父項
- 11. 將值傳遞給調用者而不使用`return`
- 12. UNIX:將值傳遞給IF條件而不是值
- 13. FactoryGirl傳遞'nil'而不是值
- 14. 將值從observableArray傳遞到另一個,而不相互引用
- 15. 將jQuery滑塊值傳遞給GET
- 16. 將模態iframe中的值傳遞給父iframe
- 17. 爲什麼使用Messenger而不是將引用傳遞給Handler?
- 18. 如何使用隱式值而不將它傳遞給函數?
- 19. CRM 2011:將值傳遞給IFRAME /網絡資源使用javascript
- 20. 如何使用JavaScript將值傳遞給iFrame?
- 21. 何時將邏輯放在類中而不是將類傳遞到實用類?
- 22. iframe的價值傳遞
- 23. 如何將url參數傳遞到iframe?
- 24. 如何將動態url傳遞到iframe?
- 25. 將URL參數傳遞到iFrame源
- 26. 將iframe url傳遞到下一頁
- 27. 將會話從gwt傳遞到iframe
- 28. 將數據從iframe傳遞到flex
- 29. 將ASP.Net MVC中的ViewModel從View傳遞到不同的視圖使用Get
- 30. 如何在php中將值從一個頁面傳遞到另一個頁面,而不是通過URL傳遞?