[英]Sending javascript variables into a frame
我正在嘗試將通過URL發送的一些動態參數組合到框架中,但是沒有任何效果。 在標簽的內部,外部,之前,之后進行了嘗試...有人可以對此進行說明嗎?
頂部框架上的URL是http://www.someurl.com/someparameters.html?country=EN_US 。 第一個腳本將獲得語言(EN)和市場(US)。 然后,用另一個頁面和我們的目標頁面構建框架集,該頁面應通過鏈接“ http://www.someurl.com/somefolders?LANGUAGE=EN&MARKET=US&somefixedparameters=123 ”進行調用
這是無效的框架集的源代碼。
<!DOCTYPE html>
<html>
<script type="text/javascript"><!--
var url = window.location.href;
var language = url.substr(url.indexOf("country=") + 8,2);
var market = url.substr(url.indexOf("country=") + 11,2);
}
</script>
<frameset rows="36px,*" frameborder="0">
<frame id="main" src="header_cgh.html?country=BR_OP" noresize="noresize" scrolling="no" border="1" bordercolor=white>
<frame id="flow" src="">
</frameset>
<script type="text/javascript"><!--
document.getElementById("flow").src = "http://www.someurl.com/somefolders?LANGUAGE=" + language + "&MARKET=" + market + "&somefixedparameters=123";
</script>
</html>
謝謝你的幫助!
更新 :打開Chrome的Javascript控制台並插入命令后:
document.getElementById("flow").src = "http://www.someurl.com/somefolders?LANGUAGE=" + language + "&MARKET=" + market + "&somefixedparameters=123"
它返回了預期的結果。 但它不會自行發生。
將腳本更改為此:
window.onload = function() {
var url = window.location.href;
var language = url.substr(url.indexOf("country=") + 8,2);
var market = url.substr(url.indexOf("country=") + 11,2);
document.getElementById("flow").src = "/somefolders?language=" + language + "&market=" + market;
}
並把它放在一個script
標簽在你的head
。
另外,請注意:如果有人請求主框架集頁面時沒有查詢字符串,或者那里沒有country
參數,則indexOf
返回-1,結果您的language
和market
變量將indexOf
毫無意義。 您將想出一種更強大的方式來獲取該信息。
這是使用postMessage的示例。 看看這是否滿足您的需求:
<iframe src="http://a.JavaScript.info/files/tutorial/window/receive.html" id="iframe" style="height:60px"></iframe>
<form name="form">
<input type="text" name="msg" value="Your message"/>
<input type="submit"/>
</form>
<script>
var win = document.getElementById("iframe").contentWindow
document.forms.form.onsubmit = function() {
win.postMessage(
this.elements.msg.value,
"http://a.JavaScript.info"
)
return false
}
</script>
來自http://javascript.info/tutorial/cross-window-messaging-with-postmessage
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.