小编min*_*eek的帖子

如何使用远程页面的构造函数在我的Greasemonkey UserScript中创建一个Object?

我的用户脚本将在其上运行的页面具有命名空间,命名空间定义了构造函数.我想使用相同的构造函数创建一个对象,并使用我的用户脚本中的对象的方法.到目前为止,我一直没有成功.这就是我想要做的.

该页面包含以下原生javascript块:

var namespace={ constructor : function(){
   this.sum = function(value1,value2){
   alert(value1+value2);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

被用作:

var pageObject=new namespace.constructor();
pageObject.sum(1,2);
Run Code Online (Sandbox Code Playgroud)

在My Userscript中,我打算像pageObject一样创建一个对象,并使用我自己的参数调用sum.

我尝试过以下操作:

var greaseNameSpace = unsafeWindow.namespace;
var greaseObject = new greaseNameSpace.constructor();
greaseObject.sum(1,2);
Run Code Online (Sandbox Code Playgroud)

没有运气,虽然出现了greaseNameSpace,甚至greaseNameSpace.constructor也是一个有效的函数,使用new greaseNameSpace.constructor()会产生undefined.

也试过以下:

var greaseObject =new unsafeWindow.namespace.constructor();
Run Code Online (Sandbox Code Playgroud)

再次,greaseObject仍未定义.

我在这里找到一个线程如何创建在远程页面中定义的类的对象?

但它使用eval,我想知道这是否正确?

任何和所有的帮助将非常感谢:)谢谢!

javascript greasemonkey scriptmanager

5
推荐指数
1
解决办法
459
查看次数

尝试调试 terraform-provider-azurerm 以便我可以为社区做出贡献。但地形计划失败了

介绍

大家好,我正在尝试开始为 terraform-provider-azurerm 做出贡献。我注意到我已在此处azurerm_firewall_network_rule_collection 报告了一个问题。我想我应该以此为契机,看看我是否可以出力并尝试解决我报告的问题!如果我可以调试提供程序并查看代码如何工作,那么我不仅可以学习 Go,还可以找出并帮助修复错误/功能增强。你们可以为我提供任何帮助并引导我走向正确的方向,我将不胜感激。我知道您的时间很宝贵,在来寻求帮助之前我已经尽力了。 我尝试做的事情总结如下:

  • 分叉terraform-provider-azurerm存储库。
  • 将分叉的存储库克隆到我的本地。Ubuntu 20.04我在 WSL 中使用。
  • 运行vscode版本1.54.3
  • using terraform 0.14.9,用于tfenv安装和管理不同版本。
  • 在vscode中安装golang及相关go工具。我在go version go1.16.2 linux/amd64. 用于linuxbrew安装go。
  • 安装gcc5。用于linuxbrew安装。
  • 安装delve调试器。用于linuxbrew安装。
  • 创建一个非常简单的 terraform main.tf,仅将资源组部署到我的 Azure 订阅。
  • 创建一个.terraformrc文件(将其设置在该位置/home/rahul/.terraformrc)以向提供程序提供 dev_overrides 路径。
  • 修改main.go(location /usr/local/go/src/github.com/terraform-providers/terraform-provider-azurerm/main.go) 以使用调试语句。
  • 使用调试代码编译提供程序并创建新的二进制文件。
  • 将无头模式下的 dlv 附加到此二进制文件
  • 使用上一步中的数据将其设置在变量 TF_REATTACH_PROVIDERS 中
  • 运行 Terraform 计划 - 希望计划运行成功。 …

debugging go terraform azure-rm

5
推荐指数
0
解决办法
1052
查看次数