将值从主窗口传递到另一个窗口

时间:2014-04-13 17:36:04

标签: javascript

在我的脚本中,用户在主窗口中输入文本,然后使用我在下面附加的控件,在第一个窗口(由用户)输入的文本被传输到第二个窗口。 在第二个窗口中,用户输入的文本必须闪烁。 我的问题是:如何在第二个窗口中使文本闪烁?

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);    
}

1 个答案:

答案 0 :(得分:1)

如何将数据传递到另一个窗口

一个好方法是使用postMessage 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)
  

功能:每隔重复毫秒执行代码块。

     

重复:两次执行之间的等待时间是毫秒。

一个工作示例:JSFiddle