Javascript 如何创建html表单以处理isitup.org小部件的url
我想知道如何创建一个html表单来处理url请求 提供了一个javascript,让我可以选择在html文件中传递url,但我想知道如何使用html表单来实现这一点Javascript 如何创建html表单以处理isitup.org小部件的url,javascript,html,Javascript,Html,我想知道如何创建一个html表单来处理url请求 提供了一个javascript,让我可以选择在html文件中传递url,但我想知道如何使用html表单来实现这一点 isitup={ server : "http://isitup.org/", exec : function() { var doc = document, node = this.get_elements(document, "isitup-widget"), server = this.serve
isitup={ server : "http://isitup.org/",
exec : function() {
var doc = document, node = this.get_elements(document, "isitup-widget"), server = this.server, requested = [];
var i, len;
for (i = 0, len = node.length; i < len; i++) {
var HTML = "";
var domain = node[i].getAttribute("data-domain");
if (!domain) {
domain = window.location.hostname;
node[i].setAttribute("data-domain", domain);
}
HTML += '<div class="isitup-icon">';
HTML += '<img src="'
+ server
+ 'widget/img/loader.gif" width="16px" height="16px" style="vertical-align: middle;" />';
HTML += '</div>';
HTML += '<div class="isitup-domain">';
HTML += '<a href="' + server + domain + '">' + domain + '</a>';
HTML += '</div>';
node[i].innerHTML = HTML;
if (this.is_domain(domain)) {
if (!this.in_list(domain, requested)) {
this.get_json(domain);
requested.push(domain);
}
} else {
this.update({
"domain" : domain,
"status_code" : 3
});
}
}
},
get_json : function(domain) {
var t = "script", d = document;
var j = d.createElement(t), p = d.getElementsByTagName(t)[0];
j.type = "text/javascript";
j.src = this.server + domain + ".json?callback=isitup.update";
p.parentNode.insertBefore(j, p);
},
update : function(result) {
var node = this.get_elements(document, "isitup-widget"), widget = [];
var i, len;
for (i = 0, len = node.length; i < len; i++) {
if (node[i].getAttribute("data-domain") == result.domain
&& !node[i].getAttribute("data-checked")) {
widget.push(node[i]);
node[i].setAttribute("data-checked", true);
}
}
var j;
for (j = 0, len = widget.length; j < len; j++) {
switch (result.status_code) {
case 1:
this.set_image("online", widget[j]);
if (widget[j].hasAttribute("data-uplink")) {
this.set_link(widget[j].getAttribute("data-uplink"),
widget[j]);
}
break;
case 2:
this.set_image("offline", widget[j]);
if (widget[j].hasAttribute("data-downlink")) {
this.set_link(widget[j].getAttribute("data-downlink"),
widget[j]);
}
break;
case 3:
this.set_image("error", widget[j]);
this.set_link(this.server + "d/"
+ widget[j].getAttribute("data-domain"), widget[j]);
break;
}
}
},
set_image : function(image, node) {
this.get_elements(node, "isitup-icon")[0].firstChild.setAttribute(
"src", this.server + "widget/img/" + image + ".png");
},
set_link : function(link, node) {
this.get_elements(node, "isitup-domain")[0].firstChild.setAttribute(
"href", link);
},
is_domain : function(domain) {
re = /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/;
return (re.test(domain)) ? true : false;
},
in_list : function(value, list) {
var i, len;
for (i = 0, len = list.length; i < len; i++) {
if (list[i] == value) {
return true;
}
}
return false;
},
get_elements : function(node, classname) {
var doc = document;
if (typeof doc.getElementsByClassName == "function") {
return node.getElementsByClassName(classname);
} else if (typeof doc.querySelectorAll == "function") {
return node.querySelectorAll("." + classname);
} else {
var div = doc.getElementsByTagName("div"), widgets = [];
var i, len;
for (i = 0, len = div.length; i < len; i++) {
if (div[i].className == classname) {
widgets.push(div[i]);
}
}
return widgets;
}
}
};
var alreadyrunflag = 0;
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", function() {
alreadyrunflag = 1;
isitup.exec();
}, false);
} else if (document.all && !window.opera) {
document
.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>');
var contentloadtag = document.getElementById("contentloadtag");
contentloadtag.onreadystatechange = function() {
if (this.readyState == "complete") {
alreadyrunflag = 1;
isitup.exec();
}
};
}
window.onload = function() {
setTimeout("if (!alreadyrunflag) { isitup.exec }", 0);
};
isitup={server:http://isitup.org/",
exec:function(){
var doc=document,node=this.get_元素(文档,“isitup小部件”),server=this.server,requested=[];
变量i,len;
对于(i=0,len=node.length;i
他们用图书馆做这件事。找到你必须做的事情,只使用它,重写库,然后附加。我想那很容易
get_json : function(domain) {
var t = "script", d = document;
var j = d.createElement(t), p = d.getElementsByTagName(t)[0];
j.type = "text/javascript";
j.src = this.server + domain + ".json?callback=isitup.update";
p.parentNode.insertBefore(j, p);
},
update : function(result) {
var node = this.get_elements(document, "isitup-widget"), widget = [];
var i, len;
for (i = 0, len = node.length; i < len; i++) {
if (node[i].getAttribute("data-domain") == result.domain
&& !node[i].getAttribute("data-checked")) {
widget.push(node[i]);
node[i].setAttribute("data-checked", true);
}
}
get_json:function(域){
var t=“script”,d=文档;
var j=d.createElement(t),p=d.getElementsByTagName(t)[0];
j、 type=“text/javascript”;
j、 src=this.server+domain+“.json?callback=isitup.update”;
p、 parentNode.insertBefore(j,p);
},
更新:功能(结果){
var node=this.get_元素(文档,“isitup小部件”),小部件=[];
变量i,len;
对于(i=0,len=node.length;i
你
<input type="text" id="txtDomain" value="stackoverflow.com" />
<button>Check Domain</button>
<div id="result"></div>
$(function() {
$("button").click(function() {
var url = 'http://isitup.org/' + $("#txtDomain").val() + '.json';
$.getJSON(url + "?callback=?", function(data) {
$("#result").html(
"<h2>" + data.domain + "</h2>" +
"<ul>" +
"<li>Code: " + data.response_code + "</li>" +
"<li>IP: " + data.response_ip + "</li>" +
"<li>Time " + data.response_time + " ms</li>" +
"</ul>"
);
});
});
});