1

関数内には、関数自体のパラメーター (un) または関数内で作成された変数からパラメーターを描画しながら、ウィンドウを開くコード行があります。

これはスクリプトで正常に機能します。

win2 = window.open(u, n, 'width=' + w + ', height=' + h + ', ' + 'left=' + wleft + ', top=' + wtop + ', ' + tools);

これはスクリプトで何度か呼び出されますが、win3、win4 などのように、コードを減らすために、毎回同じパラメーターを変数に入れて、毎回それを使用したいと考えました。

myparameters =  u + ',' + n + ',width=' + w + ', height=' + h + ', ' + 'left=' + wleft + ', top=' + wtop + ', ' + tools;

win3 = window.open(myparameters);

私はこれをいじってみましたが、運が悪かったのですが、できますか?

ありがとう。

4

3 に答える 3

2

はい、関数呼び出しでラップすることで、ある程度はできます。私が通常行うことは、必要なときにいつでも呼び出すことができるユーティリティ関数を用意することです。

このようなもの:

popOpen: function (url, target, height, width) {
        var newWindow, args = "";
        args += "height=" + height + ",width=" + width;
        args += "dependent=yes,scrollbars=yes,resizable=yes";
        newWindow = open(url, target, args);
        newWindow.focus();
        return newWindow;
}

次のようなオブジェクトにすることで、パラメーターをさらに減らすことができます。

popOpen: function (params) {
        var newWindow, args = "";
        args += "height=" + params.height + ",width=" + params.width;
        args += "dependent=yes,scrollbars=yes,resizable=yes";
        newWindow = open(params.url, params.target, params.args);
        newWindow.focus();
        return newWindow;
}

そして、次のように呼び出すことができます:

var param = { url: '...', height: '...', width: '...' };
popOpen(param);

または、

var param = new Object;
param.url = '...';
param.height = '...';
popOpen(param);
于 2013-10-29T13:58:39.210 に答える