1

JavaScriptでこの関数を持っているとしましょう

    function EstablishUserSession(params) {
        gecResult = "noResult";            
        params["callbackOnSuccess"] = Success;
        params["callbackOnException"] = Exception;
        controller.establishUserSessionIAPI(params);
        return "requestSent";
    }

params は、HtmlDocument.InvokeScript. を介して渡されるオブジェクトです。次のようになります。

{ iapiUri: "dfdfdsf", language: "en", partnerUsername: "ddddd", integrationPartnerId: 1, cleartextPassword: "dddd"}

上記は Chrome と FOX で正常に動作します。IE8 では動作しません。オブジェクトはプロパティまたはメソッドをサポートしていません。

    function EstablishUserSession(params) {
        gecResult = "noResult";
        jQuery.extend(params, { callbackOnSuccess: Success, callbackOnException: Exception });
        controller.establishUserSessionIAPI(params);
        return "requestSent";
    }

次に、Jquery.extend に変更しました... Chrome と FFox で正常に動作します。IE8 では動作しません。

上記のようにオブジェクトを正しく拡張してプロパティを追加する方法を知っている人はいますか?

注: Success と Exception は単なるコールバックです

4

1 に答える 1

0

オブジェクトの新しいコピーを使用できます..

var newParams = $.extend({ newProp : value}, oldParams);
于 2012-08-08T10:21:40.557 に答える