gpt4 book ai didi

javascript - 向脚本标签添加一种语言

转载 作者:行者123 更新时间:2023-11-27 23:44:37 24 4
gpt4 key购买 nike

我正在尝试创建自己的编程语言。创建语言的代码如下:

var printword=false;
var waitforkey=false;
function Process(text) {
var words = text.split(/\s+/);
var next = 0;
this.nextWord = function () {
if (next >= words.length) return null;
return words[next++];
};
}

function HackerScript() {
var dictionary = {};

this.stack = [];

this.addWords = function (new_dict) {
for (var word in new_dict)
dictionary[word.toUpperCase()] = new_dict[word];
};

this.run = function (text) {
var lexer = new Process(text);
var word;
var num_val;

while (word = lexer.nextWord()) {
while(waitforkey){
waitforkey=false;
}
if(!printword){
word = word.toUpperCase();
}
num_val = parseFloat(word);
if (dictionary[word]) {
dictionary[word](this);
}
else {
if(!printword){
var createerror = document.createElement("p");
createerror.appendChild(document.createTextNode("Could not process"));
document.body.appendChild(createerror);
}
else{
var print=document.createElement("p");
print.appendChild(document.createTextNode(word));
document.body.appendChild(print);
printword=false;
}
}
}
};
}
var print = {
"clearstack": function (terp) {
var ensureclear=confirm("Are you sure you want to clear?");
if(ensureclear){
document.body.innerHTML="";
}
},
"print":function(){
printword=true;
}
}
var wait={
"waitkey":function(terp){
waitforkey=true;
}
}
var HackerScript = new HackerScript();
HackerScript.addWords(print);
HackerScript.addWords(wait);

然后可以通过键入来运行编程语言

HackerScript.run("code words here");

但是,我想让程序员更容易执行编程语言。该语言的代码将通过创建一个带有 src 的脚本元素来执行,该 src 指向包含代码的文件。但在那之后,用户仍然需要创建一个 Javascript 脚本标签并使用 HackerScript 变量的运行函数。相反,我想将编程语言添加到 HTML 脚本标记中。例如:

<script type="text/Hackerscript">
key words here with no quotes
</script>

探索 window 对象帮助我确定需要将此代码添加到 window.HTMLScriptElement,但我将如何做呢?

这是编程语言代码的链接: http://jsfiddle.net/Mikey013/173g1f93/5/

最佳答案

您不能直接添加支持。

但是,您可以编写代码手动查找所有 <script type="text/hackerscript">元素(使用 document.querySelectorAll('script[type="text/Hackerscript"]') )并运行它们的 .textContent .

关于javascript - 向脚本标签添加一种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30466545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com