[英]Pass values from the main window to another window
在我的腳本中,用戶在主窗口中輸入文本,然后使用下面附加的控件,將第一個窗口(由用戶)輸入的文本傳輸到第二個窗口。 在第二個窗口中,用戶輸入的文本必須閃爍。 我的問題是:如何使第二個窗口中的文本閃爍?
if (currentElementContent.length)
{
var newWindow = window.open("ex.html","Nuova finestra","width=300,height=300 ,toolbar=yes, location=no,status=yes,menubar=yes,scrollbars=no,resizable=no");
newWindow.document.write(currentElementContent);
}
一種好方法是使用postMessage
API,該API可在最新的瀏覽器中使用(我現在測試過Chrome)。
newWindow.postMessage("The string you want to pass", "*");
“您要傳遞的字符串” :是您要傳遞的對象,所有瀏覽器現在僅支持字符串。
* :是起源; 該消息來自誰?
在另一個窗口中注冊message
事件。
function listener(event)
{
// e.origin => origin
// e.data => is the object (string) passed to it
document.getElementById('testi').innerHTML += event.data + "<br/>";
}
if (window.addEventListener)
{
window.addEventListener("message", listener, false);
}
else
{
attachEvent("message", listener);
}
event.data :是已傳遞的字符串
event.origin :消息的來源
IE使用attachEvent
。
我很確定jQuery可以更好地為您做到這一點,但是無論如何,要讓您的文本閃爍,您可以使用計時器(間隔)使它每隔X
毫秒可見/不可見。
在您的ex.html
開始一個間隔,該間隔每250毫秒(或更短或更長時間)將更改跨度(或div(如果需要或您想要的所有內容))的可見性
例:
<span id="text">Text</span>
然后腳本將是
var text = document.getElementById('text');
var isVisible = true;
setInterval(function()
{
if (isVisible) {
text.style.display = "none";
} else {
text.style.display = "";
}
isVisible = !isVisible;
}, 250);
setInterval(function, repeat)
function :是每重復毫秒執行一次的代碼塊。
repeat :兩次執行之間的等待時間(以毫秒為單位)。
一個工作示例: JSFiddle
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.