【问题标题】:Is there a way/extension for Visual Studio to convert javascript functions to a string?Visual Studio 有没有办法/扩展将 javascript 函数转换为字符串?
【发布时间】:2019-06-05 10:46:20
【问题描述】:

我目前正在使用像 CefSharp 这样的嵌入式浏览器。我将 javascript 注入这些浏览器,因此有一些大的文本字符串。

如果你不关注我,我的意思是这样

str = "(function dosomething() " _
  + "{ " _
    + "var title = 'Hi'; " _
     + "return title; " _
  + "})()"

使用更大的字符串/函数来制作它们,阅读和编​​辑它们并不容易。

我在 Visual Studio 中创建了一个 .js 文件,当然它对智能感知等非常有用。

所以我想知道我是否可以以某种方式使用我在 .js 文件中编写的函数,将它们转换为字符串或将它们转换为资源或其他东西。我真的不知道正确的术语,因此我应该用 Google 搜索什么。

CefSharp 添加为标签,因为使用它的人可能对此问题有另一种解决方案。

我不想从整个文件中读取文本,只是其中的一部分。

【问题讨论】:

  • VB 很长一段时间都不需要换行符,而 VB 2015 及更高版本支持多行 String 文字,因此您实际上需要做的事情很少。只需在 VB 中编写str = "",然后复制您的 JavaScript 函数并将其粘贴在双引号之间。就是这样,就是这样。
  • @GSerg 甚至没有关闭。如果我想创建 100 个 .js 文件,每个文件都有 1 个函数,然后读入文件的整个文本,那么你可能会变得温暖。
  • @jmcilhinney 我不知道,但确实如此。
  • 为了记录,GSerg 建议的副本不是关于读取数百个文件,而是关于读取与您的应用程序 (.exe) 位于同一目录中的一个文件。 File.ReadAllLines() 调用可以替换为 File.ReadAllText() 以将整个文件读入一个单个字符串,而不是将其读入一个数组,其中每个字符串代表文件中的一行。

标签: vb.net visual-studio cefsharp


【解决方案1】:

我想我会把我的评论变成答案。您需要做的就是自己复制和粘贴 JavaScript,因为这是 2015 年的有效 VB 代码:

str = "(function dosomething()
{
    var title = 'Hi';
    return title;
})()"

没有必要搞乱连接任何东西,所以没有真正的工作要做。

【讨论】:

  • 是的,这可能就是答案,但如果可以的话,使用 JS 文件会很棒。备份解决方案将在此处写入,然后按照您的建议将其复制。
  • VB 和 JS 代码只是文本,因此您可以轻松编写控制台应用程序来打开 JS 文件,读取文本,然后将 VB 代码作为文本写入另一个文件。您还可以考虑使用 T4 模板进行代码生成,但如果这是一次性的,则可能不值得麻烦。
  • @jmcilhinney :或者 OP 可以从磁盘(作为字符串)读取文件并将其注入 Web 浏览器。或者将其编译为资源。这样他/她仍然可以将其用作 VS 中的源代码文件。 :)
  • @VisualVincent 在这个阶段我不想阅读整个文件。我正在考虑将整个 JS 文件添加到 webbrowser,这意味着我可以使用 JS(读取整个文件)文件,但网站存在一些安全问题(我不拥有)
  • @darbid : “我不想阅读整个文件。我正在考虑将整个 JS 文件添加到 webbrowser” - 不是在阅读它?您当前的方法是将 JS 代码直接注入页面,因此如果它位于文件中,您必须先读取文件才能这样做。但是,您当然可以通过创建一个空的 script 元素并将其 src 属性设置为 JS 文件的路径来链接文件。
猜你喜欢
  • 2011-02-23
  • 2023-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-04
  • 2021-03-03
  • 2020-12-23
相关资源
最近更新 更多