【问题标题】:Double quotes in chrome extensionchrome扩展中的双引号
【发布时间】:2015-05-20 06:34:19
【问题描述】:

我正在编写一个 Chrome 扩展程序并尝试注入一些这样的代码:

var actualCode = ['$("a").unbind("click");'].join('\n');

var script = document.createElement('script');
script.textContent = actualCode;
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);

我有来自this question的代码

问题是我必须使用与上下文菜单中的右键单击相关的双引号,因此代码变为:

 Injecting-Code: "var actualCode = ['$("a").unbind("click");'].join('\n');"

如何处理我的 Jquery 中的双引号:$("a").unbind("click");

注意:我尝试像这样“逃避”它们,但它不起作用

【问题讨论】:

  • 这条Injecting-Code 消息来自哪里?看起来只是没有正确转义的输出。
  • Injecting-Code 是我需要将代码注入网站的功能的一部分
  • 请向我们展示该功能。例如,console.log 不会转义字符串中的任何内容,而只是在其周围加上引号。
  • @Bergi 我在工作,我有代码回家......对不起,它只是一个简单的功能,没什么特别的。我真的认为双引号是问题所在,因为来自控制台的错误消息指向双引号的开头

标签: javascript jquery google-chrome-extension escaping


【解决方案1】:

['$("a").unbind("click");'].join('\n') 当您有多行代码时使用此技术。

你最好用这个
var actualCode = '$("a").unbind("click");';

这应该可以解决您的问题。让我知道这是否有帮助。

【讨论】:

  • 请看这段代码:Injecting-Code: "var actualCode = ['$("a").unbind("click");'].join('\n');"双引号太多,是问题
  • Injecting-Code: 来自哪里?
  • 嗨,这是一个特殊脚本中的函数。该函数执行实际的注入,我需要它。
  • 您的意思是将actualCode 作为字符串参数传递给Injecting-Code 函数?
  • 是的,就像一个字符串
猜你喜欢
  • 2012-01-25
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
  • 2014-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-03
相关资源
最近更新 更多