我正在尝试通过 TypeScript 从网站(随机 OGS 示例)访问全局变量,以便从当前棋盘游戏获取数据。
我对 TS 还很陌生,所以我也不确定如何输入这个变量。全局变量本身实际上最初是在 TS 中创建的,但它具有无数的方法和属性,因为有如此多的功能。因此,如果我要自己输入它,我宁愿只输入我需要的内容(如果可能的话),或者以某种方式从某个包中导入它 - 我认为作者没有在任何地方公开发布它。
与此同时,还有一个问题是全局变量是否默认可用于浏览器扩展,但情况可能并非如此。
所以,我一直在尝试(我已经尝试过一百万个其他变体......)做的是类似 * - inside content.ts,它在OGS域内运行 -:
interface Goban {
bounded_height: number;
}
declare var goban: Goban;
goban = window["global_goban"];
console.log(goban.bounded_height.toString());
我通常得到的错误是:
Uncaught ReferenceError: goban is not defined
那么我错过了什么?我必须创建声明文件 ( .d.ts) 吗?处理这种从第三方代码导入全局变量的正确方法是什么?
*:根据您尝试处理window对象的方式,您可能必须添加"suppressImplicitAnyIndexErrors": true到您的对象中tsconfig.json,以便 TS 不会静态地抱怨。
对于那些不熟悉如何开发浏览器扩展的人来说,在 TS 中开始的最简单方法是:
创建一个简单的manifest.json,例如:
{
"manifest_version": 2,
"name": "Name",
"version": "0.0.2",
"description": "Description.",
"content_scripts": [
{
"matches": ["*://*.online-go.com/*"],
"js": ["content.js"]
}
]}content.ts使用上一节中的代码创建一个文件。
编译为 JS 与tsc.
将manifest.json和content.js作为解压的浏览器扩展导入到浏览器中。
加载随机 OGS 游戏并检查它。
jeck猫
呼唤远方
交互式爱情
随时随地看视频慕课网APP
相关分类