如何在浏览器中检测特定url并在Javascript中获取html页面关联?
我需要用如何在浏览器中检测特定url并在Javascript中获取html页面关联?,javascript,html,firefox-addon-webextensions,Javascript,Html,Firefox Addon Webextensions,我需要用javascript(填写字段)修改html页面。 我有一个特定的url,但我不知道如何在浏览器位于正确的url上时进行侦听,并获取htmlcode关联 我是通过一个webextension来实现的,因此javascript必须检查web浏览器中的url并从这里获取html 谢谢你帮我当我输入谷歌时,第一个点击是。非常接近顶部的是以下代码示例: 现在直接在下面创建一个名为“manifest.json”的新文件 “borderify”目录。请提供以下内容: { "manifest_v
javascript
(填写字段)修改html
页面。
我有一个特定的url,但我不知道如何在浏览器位于正确的url上时进行侦听,并获取html
code关联
我是通过一个webextension来实现的,因此javascript
必须检查web浏览器中的url并从这里获取html
谢谢你帮我当我输入谷歌时,第一个点击是。非常接近顶部的是以下代码示例:
现在直接在下面创建一个名为“manifest.json”的新文件
“borderify”目录。请提供以下内容:
{
"manifest_version": 2,
"name": "Borderify",
"version": "1.0",
"description": "Adds a red border to all webpages matching mozilla.org.",
"icons": {
"48": "icons/border-48.png"
},
"content_scripts": [
{
"matches": ["*://*.mozilla.org/*"],
"js": ["borderify.js"]
}
]
}
说
这里最有趣的关键是内容脚本,它告诉Firefox
将脚本加载到URL与特定模式匹配的网页中。
在本例中,我们要求Firefox加载一个名为
“borderify.js”插入“mozilla.org”提供的所有HTTP或HTTPS页面
或其任何子域
因此,在清单中,将“*://*.mozilla.org/*”
更改为与要在其上运行脚本的页面相匹配的内容
内容脚本(
“borderify.js”
)应该能够使用标准方法(如querySelector
)访问该页面的DOM。您的问题有点模糊,但如果我理解正确
如果您想在网页上填写一个字段和/或单击一个按钮,那么您可能需要使用名为的Firefox扩展
Tampermonkey允许您为所需的任何网站创建脚本,这些脚本将在页面上注入(并运行)额外的javascript代码(您提供的)。坦率地说,它工作得非常好——我已经为几十个网站创建了脚本,这些脚本可以让我登录到一个网站,删除广告/图像/杂乱,甚至完全重新格式化页面
显然,TM脚本仅在您的计算机上运行,并且仅在该计算机上为您更改网站外观
基本的Tampermonkey脚本如下所示:
// ==UserScript==
// @name SO Hide HNQ
// @namespace http://tampermonkey.net/
// @match https://stackoverflow.com/questions/*
// @match https://stackoverflow.com
// @grant none
// ==/UserScript==
(function() {
'use strict';
var myHnq = document.getElementById('hot-network-questions');
myHnq.style.display = 'none';
})();
请注意,通过添加此行,也可以在TM脚本中使用jQuery
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
在
/==/UserScript=
块中的某个地方。您正在查找webnavigation onCompete事件。为此,您需要webNavigation
权限
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
if (tab.url.indexOf("__your__url") != -1) {
alert("__your__url loaded");
//here do your work
}
}
});
您必须在后台JS中编写此代码。您需要将消息传递到内容脚本并在那里形成表单,您必须完成这项工作
更多关于这个
更多关于消息传递的信息
@Lewis–将内容脚本注入每个页面,然后从脚本内部测试URL是一种非常糟糕的方法,需要安装脚本的用户更加信任它。这不是一个好方法。@Tinou3231-只是跟进。你的问题回答得满意吗?如果有更多我可以帮忙的地方,请在我的答案下面添加评论,或者编辑您的问题以澄清您还想知道什么。否则,如果你能选择一个“最佳答案”(点击答案旁边的复选标记)来结束问题,那就太好了。如果没有答案提供有用的信息,请添加您自己的答案,并选择该答案作为最佳答案。还要记住,你可以以任何方式对任何你觉得有用的答案进行投票——如果需要的话,你也可以对选中的答案进行投票。谢谢他们说他们正在编写一个web扩展,而不是使用Tampermonkey。是的,但我关注的是他想做什么,而不是他想怎么做。TM比编写web扩展更简单——也许它更适合他的需要。