簡體   English   中英

將值從主窗口傳遞到另一個窗口

[英]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


如何讓文字JSFiddle閃爍

我很確定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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM