javascript 弹出菜单/窗口实现代码

作者:简简单单 2011-12-13

window.open 新建的浏览器窗口
<iframe /> 创建的窗口
页面 DOM 创建的伪弹出窗口:如弹出 tips

一、当页面无 JS 的时候
通常来说,无 JS 的情况那就按 HTML 的行为来做事。让链接可以链接,就已经解决。比较简单,我们简单带过:

1. window.open 新建的浏览器窗口:尽量让 JS 触发器绑定在 上,并把 a 链接到一个新的页面,即可。

// 链接与 window.open 的目标相同

 代码如下 复制代码
[open window]

// 记得阻止链接有默认行为,不然有 JS 的时候会打开两次

 代码如下 复制代码
window.open('./iframe.html', 'name', 'height=300,width=500');
return false;

 2.

// js
document.getElementById('theframe').src = '/target.html'

 3. 页面 DOM 创建的伪弹出窗口:使用

 代码如下 复制代码
[open current page DOM]

... 很多很多东西隔在中间 ...

 代码如下 复制代码

 二、大多数情况下
大数多情况下,用户的浏览器都是有开启 JS 的。而我们要做的是:focus 到弹出的窗口,并且第一个 tab 就可以访问里面的内容。听过来挺简单的,hub? 先看看 DEMO:

预览:可访问弹出菜单/窗口

1. window.open 新建的浏览器窗口:focus 到新建的窗口即可。

 代码如下 复制代码
// 引用自:QuickMode - popups
function popitup(url) {
    newwindow=window.open(url,'name','height=200,width=150');
    if (window.focus) {
        // focus 到新建窗口
        newwindow.focus();
    }
    // 阻止触发器的默认行为
    return false;
}

2.