JavaScript/Cross Browser
をテンプレートにして作成
Search in
this wiki
and
or
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
#br
** Modal Dialog [#f02e439e]
- IEのshowModalDialog http://msdn.microsoft.com/workshop/...
-- W3C非準拠
-- 第2引数で渡したObjectを、ポップアップ窓では dialogArgu...
-- ポップアップ窓で画面遷移があると、別窓が開いてしまう場...
- mozilla/Firefoxのwindow.open(,,'modal') http://www.mozi...
-- 実際にはmodalではなく、modeless動作をする。つまり、親w...
-- 子windowを2枚開くと、1枚が親windowの背後に回ってしまう...
[変更前 (IE専用)]
function showDialog() {
var url = "popup.html";
var features = "dialogHeight:400px;"
+ "dialogWidth:470px;"
+ "edge:sunken;"
+ "help:no;"
+ "scroll:no;"
+ "resizable:no;"
+ "status:no;"
+ "unadorned:no;";
showModalDialog(url, window, features);
}
親画面のElementから値を取得する方法
var data = parent.dialogArguments.document.getElementByI...
[変更後 (IE/mozilla)]
function showDialog() {
var url = "popup.html";
if (window.showModalDialog) {
var ieFeatures = "dialogHeight:400px;"
+ "dialogWidth:470px;"
+ "edge:sunken;"
+ "help:no;"
+ "scroll:no;"
+ "resizable:no;"
+ "status:no;"
+ "unadorned:no;";
showModalDialog(url, window, ieFeatures);
} else {
var windowName = "sampleDialog"
var mozillaFeatures = "width=450,"
+ "height=400,"
+ "toolbar=no,"
+ "location=no,"
+ "directories=no,"
+ "status=no,"
+ "menubar=no,"
+ "scrollbars=no,"
+ "resizable=no,"
+ "modal=yes";
window.open(url, windowName, mozillaFeatures);
}
return false;
}
親画面のElementから値を取得する方法
var openerWindow;
if (window.showModalDialog) {
openerWindow = parent.dialogArguments;
} else {
openerWindow = parent.opener;
}
var data = openerWindow.document.getElementById('data')....
** window.close() [#a92978c2]
- mozilla/Firefoxでは、targetを指定するかwindow.open()で...
- %%下記のように変更することで、FirefoxでもIEでも、確認ダ...
-- [2009/10/03]IE8でもFirefox3.5でも確認ダイアログが表示...
[変更前]
function window_close() {
window.close();
}
[変更後]
function window_close() {
var nvua = navigator.userAgent;
if (nvua.indexOf('MSIE') >= 0){
if(nvua.indexOf('MSIE 5.0') == -1) {
top.opener = '';
}
} else if (nvua.indexOf('Gecko') >= 0){
top.name = 'CLOSE_WINDOW';
wid = window.open('','CLOSE_WINDOW');
}
top.close();
}
- Firefoxの設定で回避することもできますが…、セキュリティ...
-- C:\Program Files\Mozilla Firefox\greprefs\all.js
---「pref("dom.allow_scripts_to_close_windows", false);」...
終了行:
#contents
#br
** Modal Dialog [#f02e439e]
- IEのshowModalDialog http://msdn.microsoft.com/workshop/...
-- W3C非準拠
-- 第2引数で渡したObjectを、ポップアップ窓では dialogArgu...
-- ポップアップ窓で画面遷移があると、別窓が開いてしまう場...
- mozilla/Firefoxのwindow.open(,,'modal') http://www.mozi...
-- 実際にはmodalではなく、modeless動作をする。つまり、親w...
-- 子windowを2枚開くと、1枚が親windowの背後に回ってしまう...
[変更前 (IE専用)]
function showDialog() {
var url = "popup.html";
var features = "dialogHeight:400px;"
+ "dialogWidth:470px;"
+ "edge:sunken;"
+ "help:no;"
+ "scroll:no;"
+ "resizable:no;"
+ "status:no;"
+ "unadorned:no;";
showModalDialog(url, window, features);
}
親画面のElementから値を取得する方法
var data = parent.dialogArguments.document.getElementByI...
[変更後 (IE/mozilla)]
function showDialog() {
var url = "popup.html";
if (window.showModalDialog) {
var ieFeatures = "dialogHeight:400px;"
+ "dialogWidth:470px;"
+ "edge:sunken;"
+ "help:no;"
+ "scroll:no;"
+ "resizable:no;"
+ "status:no;"
+ "unadorned:no;";
showModalDialog(url, window, ieFeatures);
} else {
var windowName = "sampleDialog"
var mozillaFeatures = "width=450,"
+ "height=400,"
+ "toolbar=no,"
+ "location=no,"
+ "directories=no,"
+ "status=no,"
+ "menubar=no,"
+ "scrollbars=no,"
+ "resizable=no,"
+ "modal=yes";
window.open(url, windowName, mozillaFeatures);
}
return false;
}
親画面のElementから値を取得する方法
var openerWindow;
if (window.showModalDialog) {
openerWindow = parent.dialogArguments;
} else {
openerWindow = parent.opener;
}
var data = openerWindow.document.getElementById('data')....
** window.close() [#a92978c2]
- mozilla/Firefoxでは、targetを指定するかwindow.open()で...
- %%下記のように変更することで、FirefoxでもIEでも、確認ダ...
-- [2009/10/03]IE8でもFirefox3.5でも確認ダイアログが表示...
[変更前]
function window_close() {
window.close();
}
[変更後]
function window_close() {
var nvua = navigator.userAgent;
if (nvua.indexOf('MSIE') >= 0){
if(nvua.indexOf('MSIE 5.0') == -1) {
top.opener = '';
}
} else if (nvua.indexOf('Gecko') >= 0){
top.name = 'CLOSE_WINDOW';
wid = window.open('','CLOSE_WINDOW');
}
top.close();
}
- Firefoxの設定で回避することもできますが…、セキュリティ...
-- C:\Program Files\Mozilla Firefox\greprefs\all.js
---「pref("dom.allow_scripts_to_close_windows", false);」...
ページ名: