2016-10-16 4 views
0

このChromeプラグインをFirefoxで使えるように変換できますか?FirefoxのshowModalDialog

https://github.com/chuckhendo/showModalDialog-shim

プラグインは、あなたがのGreaseMonkeyでこれを実行することができますwindow.open

'use strict'; 

var shim = '(' + function() { 
if(typeof window.showModalDialog !== 'function') { 
    window.showModalDialog = function() { 
     var opts = arguments[2]; 
     opts = opts 
      .replace(/;/g, ',') 
      .replace(/:/g, '=') 
      .replace(/dialogWidth/g, 'width') 
      .replace(/dialogHeight/g, 'height') 
      .replace(/center/g, 'centerScreen'); 
     return window.open.call(this, arguments[0], '_blank', opts); 
    }; 
} 
} + ')();'; 

var scriptEl = document.createElement('script'); 
scriptEl.textContent = shim; 
(document.head||document.documentElement).appendChild(scriptEl); 

答えて

0

でwindow.showModalDialogを交換する必要があります。 GreaseMonkey拡張機能をインストールし、上記のコードをユーザスクリプトとして追加します。ここでは、GreaseMoneyために書き換えられ

は:

// ==UserScript== 
// @name  AddShowModal 
// @namespace http://www.weirdies.net 
// @version  1 
// @grant  none 
// @include  * 
// ==/UserScript== 

(function() { 
    var shim = '(' + function() { 
    if(typeof window.showModalDialog !== 'function') { 
     window.showModalDialog = function() { 
     var opts = arguments[2]; 
     opts = opts 
     .replace(/;/g, ',') 
     .replace(/:/g, '=') 
     .replace(/dialogWidth/g, 'width') 
     .replace(/dialogHeight/g, 'height') 
     .replace(/center/g, 'centerScreen'); 
    return window.open.call(this, arguments[0], '_blank', opts); 
    }; 
} 
} + ')();'; 



var scriptEl = document.createElement('script'); 
scriptEl.textContent = shim; 
(document.head||document.documentElement).appendChild(scriptEl); 
})(); 

私はそれがElectolysisをfalseにdom.disable_window_showModalDialogを設定し、無効にすることなく、添付のダイアログなどを持ち出すためにOWA 10と連携を確認しました。ちょっと不器用なようですが、幅と高さを適切に変換するようには見えません(フルスクリーンを開き、今すぐデバッグする時間がありません)。

関連する問題