Tampermonkey - 使用不存在的URL添加页面

时间:2013-05-20 11:22:43

标签: javascript html greasemonkey userscripts tampermonkey

我正在创建一个为网站添加新功能的用户脚本。 该网站有很多用户,但没有搜索用户的功能。
我想创建这样的功能。为此,我在已存在的搜索页面中创建了一个按钮,用于其他搜索目的。当我点击按钮时,我需要脚本在Google上搜索输入并获取网址,并在不存在页面上的HTML代码中显示结果。

我可以伪造带有用户脚本的URL,以便用它来显示HTML吗?

如果没有,我可以替换页面中的某些HTML吗?

代码并不是那么有趣。它只是添加一个带链接的按钮,并在不存在的页面上选择它。

CODE:

if (document.URL == "http://www.bierdopje.com/search" || document.URL == "http://www.bierdopje.com/search/" || window.location.href.indexOf("search/shows") > -1 || window.location.href.indexOf("search/episodes") > -1 || window.location.href.indexOf("search/forum") > -1) {
var users = document.createElement('li');
users.setAttribute('class', 'strong');
var UsersNode = document.createTextNode("Gebruikers");
var UsersLink = document.createElement('a');
UsersLink.setAttribute('href', 'http://www.bierdopje.com/search/users/');

document.getElementById("submenu").childNodes[1].appendChild(users).appendChild(UsersLink).appendChild(UsersNode);

if (window.location.href.indexOf("search/users/") > -1) {
    UsersLink.setAttribute('href', './');
    UsersLink.setAttribute('class', 'selected');
}
}

2 个答案:

答案 0 :(得分:0)

很抱歉回答我自己的问题,但就像Brock Adams已经说过的那样:它可能过于局部化了 伪造网址的解决方案是替换404未找到的内容。

如果有一个带有标题和段落的容器,请通过将其变为变量来找到容器,然后将其替换为另一个变量:

// find the container
var example = document.getElementById('container').childNodes[0];

// set new container
var newcontainer = document.createElement('div');
newcontainer.setAttribute('id', 'ncontainer');

// replace the existing container with the new one
example.parentNode.replaceChild(replacement, example);

// write content to the new container
document.getElementById('ncontainer').innerHTML ='<p>This is not a 404 anymore</p>';

可能有更多更短的方法来实现这一目标,但谷歌可以找到它们(javascript替换)。

要替换整个页面,请使用

document.write()


要完成页面,您可以使用以下内容设置标题:

document.title = "WEBSITE TITLE";

答案 1 :(得分:0)

您最好为浏览器创建扩展程序。 它没有看起来那么复杂。

有了这个,您可以在扩展名中弹出的HTML窗口中运行Javascript函数 见https://justinribeiro.github.io/chrome-extensions-codelab-gdg-oakdale/images/screenshot-20150108-step-02-blank-popup-loaded.png