为了让您了解我的知识库,我是一名计算机工程专业的学生,现在暑假在一家医疗公司工作。我几乎没有(几乎零网络代码经验),但这主要是我的工作希望我做的,所以我一直在努力尽快解决所有问题。我在学校使用过很多 C、Verilog 和 C++,所以计算机“语言”并不新鲜,但我很难完全弄清楚这些东西。
无论如何,我的第一个任务是为 Chrome 构建一个扩展,它可以链接到我们的 Asterix 电话服务器。所要做的就是在网页上找到电话号码并将它们变成超链接,超链接将基于点击的电话号码,这部分是微不足道的。
所以,我阅读了关于 HTML、JS、Ajax、Jquery、DOM 等的 W3 Schools 资料。所以在过去的 3 天里我学到了很多 =)
这是我制作的:
在我的情况下,我似乎不需要“backround.html”,因为我需要做的就是在页面加载后运行一个 JS 文件以查找电话号码并将它们转换为链接。
所以我写了一个清单文件和一个 JS 文件来搜索正文中的数字并在其周围放置一个标签(目前正在访问 www.google.com)
好消息是它似乎奏效了。
坏消息是,Gmail 在加载时冻结,使 hotmail 无法连接,无法更新和查看新邮件。
我认为您在进行扩展时甚至无法以这种方式“破坏”网站。
我所有的代码都非常小,所以我只想在这里发布。
清单.json
{
"name": "Typenex Hyperlink-Dialer",
"version": "1.0",
"description": "This is a custom built extension for Typenex. This extension identifies phone numbers and allows the user to click the number to initiate a phonecall.",
"permissions": [
"tabs", "http://*/*", "https://*/*"
],
"browser_action": {
"default_title": "Typenex Hyperlink-Dialer",
"default_icon": "typenex_logo.png"
},
"content_scripts" : [
{
"matches" : ["http://*/*", "https://*/*"],
"js" : ["typenex_contentscript.js"],
"run_at" : "document_idle",
"all_frames" : false
}
],
"manifest_version": 2
}
typenex_contentscript.js
var arrayOfNumbers = [];
alert("hi");
var regex = /\d*[/-]*[0-9][0-9][0-9][/ -]*[0-9][0-9][0-9][/ -]*[0-9][0-9][0-9][0-9][ ]*/g;
newBody = document.body.innerHTML;
var i = 0;
do
{
temp = regex.exec(newBody);
if (temp != null)
arrayOfNumbers[i] = temp;
i++
}
while (temp)
for (var i = 0; i < arrayOfNumbers.length; i++)
{
newBody = newBody.replace(arrayOfNumbers[i], "<a href='http://www.google.com'>" + arrayOfNumbers[i] + "</a>");
}
document.body.innerHTML = newBody;
我很感激我能得到的任何帮助,如果我似乎误解了某些东西,而你知道我能读到的东西可能会很有帮助,我一直在谷歌搜索,但我可能还不够了解问正确的问题。
如果你们中的任何人有更好的方法来解决这个简单的扩展,我是非常开放的=)