karosLi / KKJSBridge

一站式解决 WKWebView 支持离线包,Ajax/Fetch 请求,表单请求和 Cookie 同步的问题 (基于 Ajax Hook,Fetch Hook 和 Cookie Hook)
MIT License
693 stars 120 forks source link

httponly的情况可以解决么 #47

Closed coooliang closed 3 years ago

coooliang commented 3 years ago

请问httponly的情况可以解决么? 项目页面与本地化通信有自己的一套通信方式自己写的,不是使用JSBridge会不会和项目的JSBridge冲突啊

karosLi commented 3 years ago

我没太看懂你的意思。

可以描述下你的场景和出了什么问题吗?

karosLi commented 3 years ago

1、http only 是可以解决的 2、如果你们项目有自己的 JSBrdige,那么如果想要引入 KKJSBridge 的话,可以加入一个中间层。

/**
 * 当 H5 还在使用 WebViewJavascriptBridge(基于 iframe 通信) 框架时,可以通过下方代码来兼容 WebViewJavascriptBridge。这样可以在不用改动 H5 任何代码,就可以无缝支持新的 JSBridge。
 * 如果使用不是 WebViewJavascriptBridge 这样的框架,兼容的原理也是类似的。
 */
; (function(window) {
   // 声明 WebViewJavascriptBridge 在函数体作用域里,这样就不会污染全局作用域
   var WebViewJavascriptBridge = {
     init: function (func) {
     },
     registerHandler: function (handlerName, handler) {
       window.KKJSBridge.on(handlerName, handler);
     },
     callHandler: function (handlerName, data, responseCallback) {
       window.KKJSBridge.call(null, handlerName, data, responseCallback);
     }
   };
   window.WebViewJavascriptBridge = WebViewJavascriptBridge;

   // 告诉 H5, WebViewJavascriptBridge 已经 ready
   var WebViewJavascriptBridgeReadyEvent = document.createEvent("Events");
   WebViewJavascriptBridgeReadyEvent.initEvent("WebViewJavascriptBridgeReady");
   document.dispatchEvent(WebViewJavascriptBridgeReadyEvent);
})(window);