-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheval.js
More file actions
104 lines (87 loc) · 2.55 KB
/
eval.js
File metadata and controls
104 lines (87 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
//ブラウザで選択されているテキストをそのまま貼りつけする
function pasteSelection() {
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {method: "getSelection"}, function (response) {
var area = document.getElementById('area');
area.value += "/*" + tab.url + "*/\n\n";
area.value += response.data;
});
});
}
//入力されたJavaScriptを実行する
function exec() {
var area = document.getElementById('area');
try {
//var execStr = localStorage.getItem("test") + "\n";
//TODO require(..)を探し、ストレージから検索、文字列を取得して置換える
var execStr = area.value;
eval(execStr);
}catch(err) {
for(var i in err){
log(i + ":" + err[i]);
}
log("error=" + err);
}
}
//結果領域をクリアする
function clearLog() {
var logArea = document.getElementById('logArea');
logArea.value = "";
}
//srcAreaにある値をコピーする
function copy() {
//var area = document.getElementById('area');
document.getElementById('area').select();
document.getElementById('area').focus();
document.execCommand("Copy");
}
//srcAreaの値を保存する
function save() {
var moduleName = document.getElementById('moduleName').value;
var area = document.getElementById('area');
log("moduleName=" + moduleName);
log("area.value=" + area.value);
try {
localStorage.removeItem(moduleName);
localStorage.setItem(moduleName, area.value);
} catch (err) {
log(err);
throw err;
}
}
//インポート
function require(moduleName) {
if(moduleName === null || moduleName.length === 0) {
throw Error("moduleName is invelid.");
}
var moduleStr = localStorage.getItem(moduleName);
log(moduleStr);
if(moduleStr === null || moduleStr.length === 0) {
throw Error("module is not found.");
}
try {
if(moduleStr);
}catch(err) {
for(var i in err){
log(i + ":" + err[i]);
}
log("error=" + err);
}
}
//ログ出力用
function log(str) {
var logArea = document.getElementById('logArea');
var message = ">" + str + "\n";
logArea.value += message;
}
//タブ変更
function tabChange(tabNo) {
var i;
var tabCount = 3;
for (i = 1; i <= tabCount; i++) {
document.getElementById("tabsel" + i).className = "tab_selector";
document.getElementById("tab" + i).className = "noshow";
}
document.getElementById("tabsel" + tabNo).className="tab_selector selected";
document.getElementById("tab" + tabNo).className="tab";
}