karosLi / KKJSBridge

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

KKJSBridge 在 iOS 9 设备上未能初始化 #37

Closed wjiuxing closed 4 years ago

wjiuxing commented 4 years ago

项目中需要适配 iOS 9的设备,但是不能工作。

我用自带的 demo 发现 KKJSBridge 并未初始化。

在 module 测试页面,打开 eruda 的 Console,点击其中一个按钮,发现报错如下:

TypeError: undefined is not an object(evaluating 'window.KKJSBridge.call')

karosLi commented 4 years ago

你是真机iOS9还是模拟器测试的?

wjiuxing commented 4 years ago

Sorry, demo出问题是我造成的。我在我的fork里添加了同步的方法,用了 const 变量导致的,改成 var 就好了。抱歉 🤦‍♂️,刚查出来。

KKJSBridge.prototype.syncCall = function (module, method, data) {
    var message = {
        module: module || 'default',
        method: method,
        data: data
    };

    var obj = JSON.stringify(message);
    var response = window.prompt("KKJSBridgeSyncCall", obj);
    return response ? JSON.parse(response) : null;
};
karosLi commented 4 years ago

嗯,好的