`
xiaoshenge
  • 浏览: 169799 次
  • 性别: Icon_minigender_1
  • 来自: 十堰
社区版块
存档分类
最新评论

IE下window.open()第二个参数

 
阅读更多

今天在IE下遇到了一个对于我来说的一个诡异的问题,

window.open("test02.php","just test","menubar=1,location=1");

window.open("test02.php","juestest","menubar=1,location=1");

这本来是一个很简单的句子,第一句在IE下面不起作用,第二句就可以,区别在于第二个参数多了一个空格,自己还2B一样以为发现了IE的bug,结果别人深深的鄙视了。

 

下面是别人的总结:

 

http://stackoverflow.com/questions/710756/ie8-var-w-window-open-message-invalid-argument

 

This is an old posting but maybe still useful for someone.

I had the same error message. In the end the problem was an invalid name for the second argument, i.e., I had a line like:

   window.open('/somefile.html', 'a window title', 'width=300');

The problem was 'a window title' as it is not valid. It worked fine with the following line:

   window.open('/somefile.html', '', 'width=300');

In fact, reading carefully I realized that Microsoft does not support a name as second argument. When you look at the official documentation page, you see that Microsoft only allows the following arguments, If using that argument at all:

  • _blank
  • _media
  • _parent
  • _search
  • _self
  • _top

我算是213到家了,还以为是IE的bug....

think firest,check secound,search third,ask last

使用JavaScript中,父窗口调用子窗口中的函数 及 子窗口调用父窗口中的函数

父窗口调用子窗口函数实现是挺简单的,如下:
var wnd = window.open("XXX.html");
wnd.showDatas(datas);
以上代码中,showDatas是定义在子窗口的函数,datas是父窗口要给子窗口的数据。
需要注意的事,使用open语句打开窗口后,窗口未必能把所有代码全部载入,因此showDatas函数未必调用有效。
如果要有效,可以先把数据传递给子窗口,再在子窗口中延时调用showDatas函数。
如此,父窗口中的代码如下:
var wnd = window.open("XXX.html");
wnd.datas=datas;// 传递数据给子窗口
子窗口中的代码如下:
setTimeout(showDatas(window.datas),1000);// 延时时间可进行调整。
如上,父窗口调用子窗口函数才算完美。

反过来,子窗口要调用父窗口的函数要用opener对象,如:
opener.showMessages(msgs);
以上代码中,showMessages是定义在父窗口的函数,msgs是子窗口要给父窗口的数据。
1
1
分享到:
评论

相关推荐

    js中用window.open()打开多个窗口的name问题

    当要使用window.open()去打开多个子窗口的时候,在ie7之后,都要使用不同的name,这样才能够打开出多个不同的窗口,如果name相同的话,就只能打开第一个子窗口。同事要是子窗口和父窗口有数据交换或是方法相互调用时...

    js中window.open的参数及注意注意事项.docx

    `window.open` 方法有四个参数,其中前三个参数是必须的,第四个参数是可选的。 1. **url (可选)**: - 描述: 指定要打开的新窗口所加载的文档的URL。 - 示例: `"http://www.example.com"` - 注意: 如果不提供此...

    实现浏览器全屏窗口的几种方法

    - 通过`window.open`函数打开一个新窗口,并设置参数为全屏模式。 - 可以通过设置不同的参数来控制新窗口的行为,例如禁用滚动条、菜单栏等。 2. **示例代码**: ```javascript function omiga_window() { ...

    javascript window对象

    #### 二、Window对象的作用 `Window`对象在JavaScript中扮演着多重角色: - **全局命名空间**:所有的全局变量和函数都定义在这个对象上。 - **文档容器**:`Window`对象可以访问当前窗口中的文档对象(`document`...

    js中打开新窗口的各种方法.doc

    第二个按钮先打开窗口,然后通过`moveTo`和`resizeTo`调整位置和大小;第三个按钮使用了`showModalDialog`,这是一个模态对话框,不允许用户与当前窗口交互,直到关闭对话框。 3. **默认大小开启**: ```...

    使用selenium测试showModalDialog模态对话框

    2. 对于第二类应用,如工作流分配这样的复杂操作,`showModalDialog` 调用可能会引起一系列后续操作。在这种情况下,我们需要对代码进行“hack”,也就是临时替换 `showModalDialog` 方法,使其行为更符合自动化测试...

    javascript常用对象梳理

    第一个参数是窗口水平移动的像素,第二个参数是窗口垂直移动的像素。 - **11. `moveTo()` 方法** - **语法**: `window.moveTo(x, y)` - **功能**: 将窗口移动到指定坐标 `(x, y)` 处。 - **12. `resizeBy()` ...

    javascript 关闭IE6、IE7

    如果仅需关闭当前标签页,那么第二个参数应设置为 '_self';如果要关闭整个浏览器,第二个参数应设置为 '_parent'。以下是针对IE7的代码: ```javascript else if(ieVersion == "7.0") { // 如果要关闭整个浏览器 ...

    IE6、IE7、Firefox javascript 无提示关闭窗口的代码

    --IE6下可以用window.opener绕过这一个限制--> <a href="javascript:window.opener='x';window.close()">Close IE6 <!--IE7下可以用这样的方法--> <a href="javascript:window.open('','_top'); window.top.close()...

    浏览器兼容总结.txt

    而在 Firefox 中,事件对象通常需要通过事件处理函数的第一个参数来传递。为了实现跨浏览器兼容性,可以使用以下方式: ```javascript function Submitted(evt) { evt = evt ? evt : (window.event ? window.event...

    ie firefox 兼容问题大全

    而在Firefox中,则需要通过事件处理器的第一个参数获取。 - **解决方案**:可以使用兼容性良好的方式获取事件对象: ```javascript function onEvent(evt) { evt = evt ? evt : window.event; // 处理事件.....

    Javascript弹出窗口的各种方法总结

    - `window.open('url', '_blank')`:使用`_blank`作为第二个参数,页面将在新标签页或窗口中打开。 6. **弹出提示窗口并跳转页面** - `alert('message'); window.location.href='url'`:首先显示一个包含消息的...

    web开发常用到的js事件.pdf

    - 第二个参数是新窗口的名称,可以为空,用于区分多个弹窗。 - 第三个参数是窗口特性字符串,如`'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, ...

    js弹出一个新页面并获得弹出页面的值

    对于其他浏览器,应考虑使用`window.open()`或其他第三方库如jQuery UI Modal。 - **安全性**:直接使用`substring()`方法可能存在问题,尤其是如果返回的字符串格式不确定的情况下。应该对返回的值进行适当的验证和...

    js关闭子窗口

    为了更好地理解如何在实际项目中应用上述方法,这里提供一个综合示例,展示了如何在一个主窗口中打开另一个窗口,并在第二个窗口中添加代码以允许其自我关闭。 ```html <!DOCTYPE html> 主窗口 ()">打开子...

    常用asp函数

    其中,第一个参数是目标URL,第二个参数为空表示不使用命名窗口,第三个参数定义了新窗口的尺寸和位置。 #### 6. 随机数生成 在ASP中生成随机数可通过以下方式: ```asp (Int(Rnd()*n) + 1)%> ``` 这里`n`代表...

    JS 读取Excel文件(xls) 兼容Chrome/IE/Firefox

    这通常涉及到文件API、ActiveXObject(针对IE)和第三方库的使用。下面将详细介绍如何实现这一功能。 首先,我们需要理解浏览器之间的差异。Chrome和Firefox支持FileReader API,可以用来读取本地文件。然而,IE...

    ie6,7,8 ff 360 遨游, 搜狗兼容性心得

    - **问题描述**:`window.event` 在 IE 下可用,但在 Firefox 下不可用,因为 Firefox 的事件对象必须在事件发生时通过参数传递。 **解决方法**: ```html (event)">点击我 ``` ```javascript function ...

    JavaScript常用语句精选

    - 第二个参数表示窗口操作方式: - `1` 表示在当前窗口中执行操作。 ##### 2. `ExecWB` 方法 `ExecWB` 是 Internet Explorer 中特有的 ActiveX 控件方法,可以用来控制浏览器的行为。通常与 `WebBrowser` 对象...

Global site tag (gtag.js) - Google Analytics