Home  >  Article  >  Web Front-end  >  A js code that supports ff's modaldialog_javascript skills

A js code that supports ff's modaldialog_javascript skills

WBOY
WBOYOriginal
2016-05-16 19:18:191019browse

This is another method I have seen. Although it is still not very good, it is good to know about it. The current code does not support opera, and I don’t have time to see if it can be supported =. =

Original address: http://www.koders.com/javascript... 882713BA1C7DD0.aspx


[Ctrl A select all Note: If you need to introduce external Js, you need to refresh to execute
]<script> // 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 < window.frames.length; capwin(window.frames[i++])); // make up a function to be called when the Dialog ends. Dialog._return = function (val) { if (val && action) { action(val); } relwin(window); // capture other frames for (var i = 0; i < window.frames.length; relwin(window.frames[i++])); Dialog._modal = null; }; }; Dialog("http://google.com",function(){alert('test')},null); </script>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn