@@ -179,28 +179,30 @@ interface IWebView {
179179 }
180180 val initJs =
181181 """
182- window.$jsBridgeName = {
183- callbacks: {},
184- callbackId: 0,
185- callNative: function (methodName, params, callback) {
186- var message = {
187- methodName: methodName,
188- params: params,
189- callbackId: callback ? window.$jsBridgeName .callbackId++ : -1
190- };
191- if (callback) {
192- window.$jsBridgeName .callbacks[message.callbackId] = callback;
182+ if (typeof window.$jsBridgeName === 'undefined') {
183+ window.$jsBridgeName = {
184+ callbacks: {},
185+ callbackId: 0,
186+ callNative: function (methodName, params, callback) {
187+ var message = {
188+ methodName: methodName,
189+ params: params,
190+ callbackId: callback ? window.$jsBridgeName .callbackId++ : -1
191+ };
192+ if (callback) {
193+ window.$jsBridgeName .callbacks[message.callbackId] = callback;
194+ }
195+ window.$jsBridgeName .postMessage(JSON.stringify(message));
196+ },
197+ onCallback: function (callbackId, data) {
198+ var callback = window.$jsBridgeName .callbacks[callbackId];
199+ if (callback) {
200+ callback(data);
201+ delete window.$jsBridgeName .callbacks[callbackId];
202+ }
193203 }
194- window.$jsBridgeName .postMessage(JSON.stringify(message));
195- },
196- onCallback: function (callbackId, data) {
197- var callback = window.$jsBridgeName .callbacks[callbackId];
198- if (callback) {
199- callback(data);
200- delete window.$jsBridgeName .callbacks[callbackId];
201- }
202- }
203- };
204+ };
205+ }
204206 """ .trimIndent()
205207 evaluateJavaScript(initJs)
206208 }
0 commit comments