javascript - Visual Studio 2019 中 asp.net 核心中的 JavaScript 反应 redux 项目
问题描述
我有一个基于 asp.net core 3 react redux 模板的应用程序。
我正在从一个知道如何将 javascript 函数注入 webview 的移动应用程序中使用这个应用程序,以便在本机 C# 代码和 webview javascript 代码之间进行交互。
为了做到这一点,我需要一个全局方法,其余页面 javascript 可以访问其中的内容,然后可以从移动应用程序调用注入的 javascript。
这是我的全球 javascript。它包含在一个名为 jsinteraction.js 的文件中
export function invokeCSCode(data){
if (invokeCSharpAction)
invokeCSharpAction(data);
else
console.log('invokeCSharpAction not found');
}
我遇到的问题是,当我运行这个网站然后从我的移动应用程序连接到它时,我得到了一个看起来像 ESLint 错误的东西,整个页面只显示了这个错误。它说:
编译失败
./src/helpers/jsinteraction.js 第 3 行:'invokeCSharpAction' 未定义 no-undef 第 4 行:'invokeCSharpAction' 未定义 no-undef
搜索关键字以了解有关每个错误的更多信息。此错误发生在构建期间,无法消除。
invokeCSharpAction 在应用程序的编译构建期间将不存在,但在移动应用程序注入其代码后将存在。
我认为使用 if (invokeCSharpAction) 将能够处理运行时检测。
我也尝试过在搜索时找到的代码,如下所示:
if (typeof invokeCSharpAction === function)
但我得到同样的错误。
我该怎么做呢?
解决方案
尝试从窗口访问该功能:
export function invokeCSCode(data){
if (window.invokeCSharpAction)
window.invokeCSharpAction(data);
else
console.log('invokeCSharpAction not found');
}
推荐阅读
- c++ - 'char' 的 C++ [错误] 声明遮蔽了参数。这是什么意思?
- thingsboard - 如何更改 ThingsBoard 的默认 JWT 安全密钥?
- kubernetes - 无法使用 ISTIO 网关和虚拟服务连接到 HTTPS 服务
- ios - React Native:在 XCode 9.2 和 9.4 以及 RN 55.4 上构建 IOS 失败
- priority-web-sdk - 优先级 REST:没有有用的错误
- plugins - 如何正确使用 shopware event-subscriber
- java - 将excel字符串数据存储到数组列表中
- python - 使用 python sshtunnel 的隧道
- java - 如何使用 Retrofit Android 解析对象内部的数组
- java - Hazelcast的组播发现