Code Monkey home page Code Monkey logo

Comments (9)

VolientDuan avatar VolientDuan commented on September 3, 2024

这个jsHandler暂时没用到,用于后期的js调用oc的消息接受者指定,昨天一不小心提交了;后面会有用;现在属于垃圾代码;有其它问题也欢迎指出,一起学习,感谢!

from vdwebview.

VolientDuan avatar VolientDuan commented on September 3, 2024

已修复

from vdwebview.

rj9676564 avatar rj9676564 commented on September 3, 2024

@VolientDuan 现在可以拦截js方法吗?

from vdwebview.

VolientDuan avatar VolientDuan commented on September 3, 2024

可以的 demo中给出了示例方法

from vdwebview.

rj9676564 avatar rj9676564 commented on September 3, 2024

好像不能在不修改之前HTML代码的前提下,拦截js方法。比如之前使用context[@"js方法名"]
还望多多指教!

from vdwebview.

VolientDuan avatar VolientDuan commented on September 3, 2024

没理解你说的,你可以简单描述一下应用场景

from vdwebview.

rj9676564 avatar rj9676564 commented on September 3, 2024

function sendMessage() {
postMessage("这是我发给你的私信,别告诉别人哦")
}
想在OC中拦截postMessage,并把参数传递给OC。该如何做呢?
我看到您是用的是 window.webkit.messageHandlers。

from vdwebview.

VolientDuan avatar VolientDuan commented on September 3, 2024

我的理解是这样的,不知道是不是你想要的,
你可以通过js注入自定义方法,比如自定义的postMessage方法

OC方法

[self.webView addUserScriptWithSource:@"function postMessage(msg) { window.webkit.messageHandlers.postMessage.postMessage(msg)}" injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES];
    // reload生效
    [self.webView reload];

JS方法

function testPostMessage() {
        // postMessage 为需要拦截的方法
        postMessage("这是我发给你的私信,别告诉别人哦")
    }

详细代码在demo中 可自行下载调试

from vdwebview.

rj9676564 avatar rj9676564 commented on September 3, 2024

好的,谢谢。

from vdwebview.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.