我正在创建一个为网站添加新功能的用户脚本。
该网站有很多用户,但没有搜索用户的功能。
我想创建这样的功能。为此,我在已存在的搜索页面中创建了一个按钮,用于其他搜索目的。当我点击按钮时,我需要脚本在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');
}
}
答案 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