一个支持ff的modaldialog的js代码

这是我看到的另一种方法了,虽然仍然不怎么样,不过了解一下也是不错的,目前代码不支持opera,我也没时间看能否支持=。=

原地址:http://www.koders.com/javascript ... 882713BA1C7DD0.aspx

// Though "Dialog" looks like an object, it isn't really an object. Instead
// it's just namespace for protecting global symbols.

function Dialog(url, action, init) {
if (typeof init == "undefined") {
init = window; // pass this window object by default
}
if (document.all) { // here we hope that Mozilla will never support document.all
var value =
showModalDialog(url, init,
// window.open(url, '_blank',
// "resizable: no; help: no; status: no; scroll: no");
"resizable: yes; help: no; status: no; scroll: no");
if (action) {
action(value);
}
} else {
return Dialog._geckoOpenModal(url, action, init);
}
};

Dialog._parentEvent = function(ev) {
if (Dialog._modal && !Dialog._modal.closed) {
Dialog._modal.focus();
// we get here in Mozilla only, anyway, so we can safely use
// the DOM version.
ev.preventDefault();
ev.stopPropagation();
}
};

// should be a function, the return handler of the currently opened dialog.
Dialog._return = null;

// constant, the currently opened dialog
Dialog._modal = null;

// the dialog will read it's args from this variable
Dialog._arguments = null;

Dialog._geckoOpenModal = function(url, action, init) {
var dlg = window.open(url, "ha_dialog",
"toolbar=no,menubar=no,personalbar=no,width=10,height=10," +
"scrollbars=no,resizable=no");
Dialog._modal = dlg;
Dialog._arguments = init;

// capture some window's events
function capwin(w) {
w.addEventListener("click", Dialog._parentEvent, true);
w.addEventListener("mousedown", Dialog._parentEvent, true);
w.addEventListener("focus", Dialog._parentEvent, true);
};
// release the captured events
function relwin(w) {
w.removeEventListener("focus", Dialog._parentEvent, true);
w.removeEventListener("mousedown", Dialog._parentEvent, true);
w.removeEventListener("click", Dialog._parentEvent, true);
};
capwin(window);
// capture other frames
for (var i = 0; i

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 一个支持ff的modaldialog的js代码

    这是我看到的另一种方法了,虽然仍然不怎么样,不过了解一下也是不错的,目前代码不支持opera,我也没时间看能否支持=.= 原地址:http://www.koders.com/javascript ... 882713BA1C7DD0.aspx // Though "Dialog" looks like an object, it isn't really an object. Instead // it's just namespace for protecting global sy

  • 返回上一个url并刷新界面的js代码

    JS 重载页面,本地刷新,返回上一页 <a href="javascript:history.go(-1)" rel="external nofollow" >返回上一页</a> <a href="javascript:location.reload()" rel="external nofollow" >重载页面,本地刷新</a> <a href="javasc

  • 一个简单的弹性返回顶部JS代码实现介绍

    昨天做了一个这样的功能,贴出来参考. HTML/JS/CSS代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &l

  • 支持IE和firefox的js代码美化加亮源码

    自己在IE和FF试过了js代码加亮效果,用了一段别人的压缩后的代码作为例子,受限制,删了一部分. 发现错误的大虾一定要留下测试用的代码啊! 我们 www.jb51.net #oTxt{ color:#333333; background-color:#f0f0f0; font-family:Courier New; font-size:12px; margin:0; line-height:13px; border-left:none; overflow:scroll; } #oResult{

  • bat、vbs、js 原生混编(一个bat可以执行vbs,js代码)

    发现 mshta 会把 file:// 协议指向的文件当作 html 来解析(注:IUnknown 与 happyxxdhaha 提醒此处必需使用绝对路径,否则不会执行),心里顿时有一万只草泥马奔过,原来如此简单的答案就在身边,却错过了四年 基本框架: 复制代码 代码如下: <!-- : bathome @echo off echo I'm Batch! mshta "file://%~f0" pause&exit 使用注释标签囊括批处理部分,条件是批处理部分不能出现注释

  • 让网站自动生成章节目录索引的多个js代码

    第一种:只支持一级目录 <h3>,作为段落不支持分类 一个好的博文除了博文的质量要好以外,好的组织结构也能让读者阅读的更加舒服与方便,我看园子里面有一些园友的博文都是分章节的,并且在博文的前面都带有章节的目录索引,点击索引之后会跳转到相应的章节阅读,并且还可以回到目录顶端,其中 Fish Li 的博文就是这种组织,当然这种结构如果是在写博文的时候人工设置那是非常麻烦的,无疑是增加了写作人的工作量.如果能自动生成章节索引岂不是节省了一大堆工作量.本来想通过FireBug看看Fish Li源码是怎

  • js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

    因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了 function isIE() { //ie? if (!!window.ActiveXObject || "ActiveXObject" in window) return true; else return false; } 第一种,只区分浏览器,不考虑版本 复制代码 代码如下: function myBrowser(){     var userAgent = navigator.

  • js代码延迟一定时间后执行一个函数的实例

    实例如下: setTimeout(funcName,500); function funcName() { xxxxxx; } 0.5秒后执行funcName(),只执行一次 setInterval(funcName,5000);   每隔5秒执行一次funcName() 以上这篇js代码延迟一定时间后执行一个函数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码

    今天遇到一个很奇葩的需求,是这样的:当我点击文字的时候弹出一个删除按钮,可以删除刚才点击的文字. 诶?当时想了想,没什么难度吧.可是,既然是奇葩的需求怎么可能这么简单. 对,还有一个功能.我并不知道我点了哪个标签,英文可以承载文字的标签太多太多.... 当时我tm就懵逼了.你都不知道要点哪个标签,我怎么去绑定事件?给谁绑定事件?  扯了半天,还是要写.于是就动工了. 我思路是这样的: START 1,首先得获取鼠标点击的对象.(问题是...我怎么知道点了哪个) 那么先写个函数去获取鼠标点击的对象

  • 一个简单的动态加载js和css的jquery代码

    一个简单的动态加载js和css的jquery代码,用于在生成页面时通过js函数加载一些共通的js和css文件. //how to use the function below: //$.include('file/ajaxa.js');$.include('file/ajaxa.css'); //or $.includePath = 'file/';$.include(['ajaxa.js','ajaxa.css']);(only if .js and .css files are in the

随机推荐