如何在Script#中使用其他JS文件中定义的对象
How to use object defined in other JS file in Script#
我的Script#有问题。我得到了一个ASP.NET页面,它加载了一个JavaScript文件并使用了其中的一个对象。
var tracker = Piwik.getTracker(...);
现在我还有一个Script#生成的JavaScript文件,它也包含在同一页面中。现在我想在Script#.cs文件中使用tracker
对象。
Type.InvokeMethod(tracker, "trackPageView");
不编译:在当前上下文中不存在
Type.InvokeMethod("tracker", "trackPageView");
编译但输出:"tracker".trackPageView();
有什么想法吗?
当尝试为第三方javascript库发出代码时,使用Script.Literal可以工作,但通常应该避免。使用Script#的全部目的是为了获得编译器支持和轻松的重构。
如果您计划在其他项目中使用Piwik,我建议您在Script#库中创建一些新类,甚至创建一个单独的Script#导入库。
关键是用属性[Imported]标记这些类-该属性将阻止为这些类创建js文件,但将为您提供强大的类型和重构功能,使script#如此出色。
我不确定"Piwik"是什么,但我认为它是javascript库中的Singleton对象。创建以下两个类。
[Imported]//we don't want this to show up in the javascript source.
public sealed class Tracker
{
public void TrackElement()//this will write trackElement() in emitted js.
{
}
}
[Imported]//we don't want this to show up in the javascript source.
public static class Piwik
{
public static Tracker GetTracker(string item)//this becomes getTracker()
{
return null;
}
}
您现在可以在Script#中编写这样的代码
Tracker tracker = Piwik.GetTracker("whatever");//c#
它将发出如下所示的javascript。
var tracker = Piwik.getTracker('whatever');//javascript
已找到:Script.Literal("tracker.trackPageView()");
相关文章:
- 从文本文件js中读取列表
- 当我用ctrl+p搜索时,为什么要在谷歌chrome上使用inspect来调试缺少显示文件js
- 获取用于外部JavaScript文件(.js)的代码提示
- 如何将Javascript文件(.js文件)放在web服务器中
- 如何将 JavaScript 文件(.js 文件)添加到 C# 项目并从 C# 代码调用 JavaScript 方法
- 在 Node 中包含 javascript 文件.js无需 require('.') ing
- 如何使用jquery显示多个文件.多文件.js
- 使用 PDF 打开 PDF 文件.js而不将文件作为查询字符串传递
- 转换颜色十六进制值以用于三个 JSON 文件.js
- 如何使用 jQuery 选择多个文件.多文件.js插件?使用单个关闭按钮一次选择多个文件
- 如何在 Gulp 任务中间添加 CSS 文件.js
- 如何从Dropzone上传和删除文件.js
- 如何在视频中添加视频文件.js 4.2.1.
- 从快速节点下载文件.js具有 JWT 授权
- 访问 JavaScript 文件.js中的 C# 变量
- 在节点中热重载外部 js 文件.js如果文件有任何更改
- 如何在一台服务器中运行不同的.js文件.js NODE JS中的文件
- 如何在多文件.js中上传文件时检查文件扩展名
- 将文件.js中的var导入到模块joomla的模板中,并使用后台进行修改
- 在path项目中编写文件js脚本