将 Javascript 添加到 WKWebView

2023-11-26

你好,我知道这似乎是一个超级简单的问题,但我想将此 JS 添加到我的 WebView 中:

<script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=default&#038;ver=1.3.8'></script>

现在显然我知道这是 HTML,但我不确定要在“evaluateJavaScript”中放入什么才能使用 JS 源。抱歉,如果这不是很清楚 - 我对 Swift 和 JS 都是新手。谢谢!

我的快速代码:

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    self.webView.evaluateJavaScript("<script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=default&#038;ver=1.3.8'></script>") { (nil, error) in
        print(error)
    }
}

使用内置APIWKUserScript注入JS:

let script =    """
                var script = document.createElement('script');
                script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=default&#038;ver=1.3.8';
                script.type = 'text/javascript';
                document.getElementsByTagName('head')[0].appendChild(script);
                """
let userScript = WKUserScript(source: script, injectionTime: .atDocumentStart, forMainFrameOnly: true)

let contentController = WKUserContentController()
contentController.addUserScript(userScript)

let webViewConfiguration = WKWebViewConfiguration()
webViewConfiguration.userContentController = contentController

let webView = WKWebView(frame: CGRect.zero, configuration: webViewConfiguration)

forMainFrameOnly:一个布尔值,指示脚本是否应仅注入主框架或所有框架(包括 iframe)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Javascript 添加到 WKWebView 的相关文章

  • 将 Cordova console.log 写入文件

    有谁知道是否有可能console log写入文件或类似的东西 我已经记录了我的应用程序 但它仅写在控制台上 出于远程目的debugging我也需要将现有日志写入文件 我想创建一个文件并将日志写入该文件中 但这将使我复制现有的日志代码 因此
  • 三元运算符结合性

    我无法理解三元运算符上下文中的结合性概念 在大多数情况下 三元运算符如下所示 a b c 在这种情况下 不需要结合性来计算表达式 但有时 三元运算符是嵌套的 a b c d e a b c d e is right associative
  • 如何在 viewDidLayoutSubviews 中获得正确的视图高度?

    void viewDidLayoutSubviews super viewDidLayoutSubviews NSLog viewDidLayoutSubviews view height f self view frame size he
  • 错误 ITMS-90171:“无效的捆绑结构 不允许使用二进制文件 APP.app/libswiftRemoteMirror.dylib

    我打算将 sift 2 2 转换为 swfit 3 0 并上传到 itunes 商店 然后出现一个错误 我对这个错误感到非常厌倦 错误 ITMS 90171 无效的捆绑包结构 不允许使用二进制文件 ideaPitch app libswif
  • 调整图像大小 Objective-C [重复]

    这个问题在这里已经有答案了 我正在尝试缩小使用 iPhone 4 及更高版本拍摄的 Objective C 图像的尺寸 以便我可以尽快将其发送到服务器 目前 全尺寸图像需要很长时间才能完成 目前我正在尝试的缩小规模是 CGSize imag
  • 没有这样的模块“SDWebImage”

    我安装了SDWebImage using CocoaPods 我的 podfile 是这样写的https github com rs SDWebImage https github com rs SDWebImage platform io
  • Swift init(count:,repeatedValue:) 有效吗?

    从参考文献中对此进行了测试 https developer apple com documentation swift https developer apple com documentation swift var string Str
  • 如何从 iPhone 直播视频 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想开发 iPhone 应用程序来将实时视频播放到网络上 Ustream 有从 iPhone 向网络广播的应用程序 有什么建议吗 我应该使
  • iOS - 条件编译(xcode)

    我为最初的 iPhone 应用程序创建了一个额外的 iPad 目标 来自苹果文档 几乎在所有情况下 您都需要定义一个新的视图控制器类来管理应用程序界面的 iPad 版本 特别是当该界面与您的 iPhone 界面完全不同时 您可以使用条件编译
  • Swift 中的浮点数除法和转换

    我正在尝试学习 Swift 我做了一个简单的平均函数 func average numbers Int gt Float var sum 0 for number in numbers sum number return Float sum
  • Xcode:缺少 NSCameraUsageDescription 的 Info.plist 密钥

    添加后GPUImage to my Xcode项目 我的应用程序因缺少Info plist关键是NSCameraUsageDescription Missing Info plistkey 此应用程序尝试访问隐私敏感的 没有使用说明的数据
  • Nativescript:如何以编程方式禁用/启用 ScrollView 滚动?

    有没有办法以编程方式禁用 启用 NativeScript 中的 ScrollView 滚动 好的 我找到了该怎么做 在 iOS 上这实际上非常简单 var scrollView page getViewById YOUR VIEW ID s
  • 获取对容器视图的视图控制器的引用[重复]

    这个问题在这里已经有答案了 我有一个 viewController 其中包含一个 ContainerView 正在设置 ViewController 我正在设置一个segue 并在prepareforsegue方法中我想获取对嵌入在容器视图
  • iOS 13.4 中的 MPMusicPlayerController.applicationQueuePlayer 错误

    我已经在反馈助手中提交了有关此问题的反馈 但我想我也应该在这里发布 从 iOS 13 4 开始 我注意到 MediaPlayer 框架中的各种错误 特别是与 applicationQueuePlayer 和 applicationMusic
  • 二元运算符“==”不能应用于“UILabel?”类型的操作数和“字符串”

    错误 二元运算符 无法应用于 UILabel 类型的操作数和 字符串 import UIKit class ViewController UIViewController let Soft 5 let Medium 8 let Hard 1
  • reloadData 不调用 cellForRowAtIndexPath

    我的项目使用分割视图控制器 其中包含一个带有课程时间列表的表格视图和一个详细说明课程时间的主视图 当应用程序首次加载时 表格视图中没有任何条目 主视图显示登录屏幕 当用户登录时 表视图应该重新加载包含每个班级标题的文本 我无法正确重新加载数
  • 如何让付费版和免费版iOS应用共享FB App ID?

    我有同一个 iPhone 应用程序的免费版和付费版 我希望他们共享一个 Facebook 应用程序 ID 因为它们本质上是同一个应用程序 我认为我可以通过使用 Facebook 类中的这个方法来完成此任务 void authorize NS
  • iOS 中如何将阴影变成圆形?

    我创建了一个圆形 UIView 它也应该有一个阴影 到目前为止 一切正常 但在角落 阴影没有正确倒圆 如何将阴影角变圆 这是代码和屏幕截图 popupView layer cornerRadius 15 popupView layer sh
  • Dropbox iOS 应用中相当于“fb://”的是什么?

    抱歉 我可以说我并不完全知道我在说什么 例如 要打开 Facebook 的 URL 前缀是 fb 有人知道 Dropbox 的前缀吗 我很确定它有一个 因为在新的 Dropbox API 1 0 中 它会从您的应用程序中打开 Dropbox
  • iOS OpenGL ES 2.0:离屏渲染并将结果保存到 UIImage

    我正在使用 OpenGL ES 渲染一些特殊效果 我不想向用户显示这些效果 我只想将结果保存为 UIImage 有人可以帮助我吗 这是我正在使用的代码 我可以获得一个包含我使用的红色透明颜色的图像 但没有显示几何图形 import Rend

随机推荐