我正在制作一个JavaScript脚本,当用户键入特定名称时,脚本将加载皮肤。问题是现在的代码只适用于1皮肤,我希望它与多个工作。
我得到了Github的基本代码,我不太了解JavaScript。在这方面,我不是最聪明的。我试着做数组,只是使顶部的变量到一个数组,但这似乎没有工作。
基本上,我尝试了几乎所有我能做的事情。我试着把ourskin和skinurl放入一个数组中,看看是否可以使用不同的皮肤名称和URL,就像这样:var ourskin = ["namea","nameb"];
ourskin = ourskin.toLowerCase();
var skinurl = ["urla","urlb"];
然后我试着复制:
中的命令function agariomodsRuntimePatches() {
但这似乎只是让两种注射发生了冲突。脚本的工作方式是我在Tampermonkey中有以下代码:
// ==UserScript==
// @name Free Skin
// @namespace agarmods
// @version 1.0.3
// @description Your skin in agar.io!!!
// @author Sebyakin Andrei
// @match http://agar.io/
// @grant none
// ==/UserScript==
var script = document.createElement('script');
script.src = "https://cdn.rawgit.com/makanenzo10/abs0rb_skins/master/2.js";
(document.body || document.head || document.documentElement).appendChild(script);
当我使用一个名称字符串时,脚本实际上工作得很好。我在Tampermonkey on Chrome和Violentmonkey on Opera中使用了这个脚本。(均运行最新稳定版本)
下面是脚本的代码:
http://pastebin.com/KBvivYmM(我不能设法张贴在这里,因为它太长了。)
将皮肤存储在对象中:
var skins = {
"name 1": "url1",
"name 2": "url2",
"name 3": "url3"
};
按皮肤名获取URL:
- 文字:
var chosen_skin_url = skins["name 1"];
- 变量:
var chosen_skin_url = skins[skinName];
- 文字:
获取皮肤名称数组:
var skin_names_array = Object.keys(skins).sort();
以字符串形式列出所有皮肤名称:
var skin_names_list_string = Object.keys(skins).join(", ");