objective-c – 如何在WebView中通知我的Cocoa应用程序onClick事件?

objective-c – 如何在WebView中通知我的Cocoa应用程序onClick事件?,第1张

概述我正在我的OSX应用程序中加载WebView,并希望在用户单击WebView中的元素时在我的应用程序中收到通知. (WebView正在加载一个属于我的Web应用程序的网页.) 这可能吗? 我可以想出一种方法(调查在click事件上设置的javascript值),但我希望有一种更明智的方法! 由于网页是您的Web应用程序,因此我假设您可以控制html. 使用WebScript. 这是一个小小的演示: 我正在我的OSX应用程序中加载WebVIEw,并希望在用户单击WebVIEw中的元素时在我的应用程序中收到通知. (WebVIEw正在加载一个属于我的Web应用程序的网页.)

这可能吗?

我可以想出一种方法(调查在click事件上设置的javascript值),但我希望有一种更明智的方法!

解决方法 由于网页是您的Web应用程序,因此我假设您可以控制HTML.

使用WebScript.

这是一个小小的演示:

Objective-C的:

- (voID)windowDIDLoad{    [[webVIEw windowscriptObject] setValue:self forKey:@"objcConnector"];    ....}+ (BOol)isSelectorExcludedFromWebScript:(SEL)aSelector{    if (aSelector == @selector(elementClicked:)) return NO;    return YES;}-(voID)elementClicked:(ID)object{    //object is the ID of the element}

HTML:

<button ID="example" onClick="window.objcConnector.elementClicked_(this.ID)">Click me</button>
总结

以上是内存溢出为你收集整理的objective-c – 如何在WebView中通知我的Cocoa应用程序onClick事件?全部内容,希望文章能够帮你解决objective-c – 如何在WebView中通知我的Cocoa应用程序onClick事件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1002119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存