nem*_*rod 9 html javascript json replace userscripts
我想在Firefox中为Greasemonkey创建一个用户脚本而不使用jQuery,它可以在加载网站页面时用新文本替换旧文本.
HTML代码:
..
window.app = profileBuilder({
..
"page": {
"btn": {
"eye": "blue",
"favorite_color": "blue",
"gender": "male",
},
},
..
});
..
Run Code Online (Sandbox Code Playgroud)
用"红色"代替"喜欢"颜色的"绿色","蓝色",用"女性"代替"男性".
当页面将被加载时,我想看到,例如绿色(不是蓝色)的眼睛和女性性别(不是男性).
我想我需要使用下一个功能:
GM_getValue()
GM_setValue()
JSON.parse()
JSON.stringify()
Run Code Online (Sandbox Code Playgroud)
PS:代码JSON直接在页面中而不在文件中(../code.json)
用户代码:
// ==UserScript==
// @name nemrod Test
// @namespace nemrod
// @include http*://mywebsite.com/*
// @version 1
// ==/UserScript==
var json = {"page": {"btn": {"eye": "blue","favorite_color": "blue","gender": "male",},},};
var stringified = JSON.stringify(json);
stringified = stringified.replace(/"eye": "blue"/gm, '"eye": "green"');
stringified = stringified.replace(/"favorite_color": "blue"/gm, '"favorite_color": "red"');
var jsonObject = JSON.parse(stringified);
Run Code Online (Sandbox Code Playgroud)
它不起作用
有人可以帮助使用正确的代码吗?
Ani*_*ith 12
首先是stringify()你的JSON.
var stringified = JSON.stringify(json);
Run Code Online (Sandbox Code Playgroud)
接下来,使用.replace()JavaScript String函数.
stringified = stringified.replace('"eye": "blue"', '"eye": "green"');
stringified = stringified.replace('"gender": "male"', '"gender": "female"');
Run Code Online (Sandbox Code Playgroud)
现在parse()你的JSON成为一个对象.
var jsonObject = JSON.parse(stringified);
Run Code Online (Sandbox Code Playgroud)
现在,您可以jsonObject随心所欲地使用它.
编辑:使用这些行代替以前.replace()的行.
stringified = stringified.replace('"eye": "blue"', '"eye": "green"');
stringified = stringified.replace('"gender": "male"', '"gender": "female"');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53686 次 |
| 最近记录: |