Bones/node_modules/weinre/web/index.js
SOUTHERNCO\x2mjbyrn 7efe7605b8 Template Upload
2017-05-17 13:45:25 -04:00

110 lines
4.0 KiB
JavaScript

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
var weinre_protocol = location.protocol
var weinre_host = location.hostname
var weinre_port = location.port
var weinre_pathname = location.pathname
var weinre_id = "anonymous"
function doReplacements() {
var hash = location.href.split("#")[1]
if (hash) {
weinre_id = hash
}
replaceURL("url-client-ui", buildHttpURL("client/#" + weinre_id))
replaceURL("url-interfaces", buildHttpURL("interfaces/interfaces.html"))
replaceURL("url-target-demo", buildHttpURL("demo/weinre-demo.html#" + weinre_id))
replaceURL("url-target-demo-min", buildHttpURL("demo/weinre-demo-min.html#" + weinre_id))
replaceURL("url-target-script", buildHttpURL("target/target-script-min.js#" + weinre_id))
replaceURL("url-target-bookmarklet", getTargetBookmarklet(), "weinre target debug")
replaceURL("url-target-documentation", buildHttpURL("doc/"))
replaceText("version-weinre", Weinre.Versions.weinre)
replaceText("version-build", Weinre.Versions.build)
replaceText("target-bookmarklet-src-pre", getTargetBookmarklet())
replaceText("target-bookmarklet-src-text-area", getTargetBookmarklet())
replaceText("url-target-script-raw", buildHttpURL("target/target-script-min.js#" + weinre_id))
}
doReplacements();
window.onhashchange = doReplacements;
//---------------------------------------------------------------------
function buildHttpURL(uri) {
var port = weinre_port
var pathname = weinre_pathname
if (pathname == "/index.html") pathname = "/"
if (weinre_protocol == "file:") {
return uri
}
else if (weinre_protocol == "http:") {
if (port != "") port = ":" + port
return weinre_protocol + "//" + weinre_host + port + pathname + uri
}
else if (weinre_protocol == "https:") {
if (port != "") port = ":" + port
return weinre_protocol + "//" + weinre_host + port + pathname + uri
}
}
//-----------------------------------------------------------------------------
function targetBookmarkletFunction(e){
e.setAttribute("src","???");
document.getElementsByTagName("body")[0].appendChild(e);
}
//-----------------------------------------------------------------------------
function getTargetBookmarklet() {
var script = targetBookmarkletFunction.toString();
script = script.replace(/\n/g, "")
script = script.replace("targetBookmarkletFunction","")
script = script.replace(/\s*/g, "")
script = script.replace("???", buildHttpURL("target/target-script-min.js#" + weinre_id))
script = "(" + script + ')(document.createElement("script"));void(0);'
return 'javascript:' + script
}
//---------------------------------------------------------------------
function replaceURL(id, url, linkText) {
if (!linkText) linkText = url
replaceText(id, "<a href='" + url + "'>" + linkText + "</a>");
}
//---------------------------------------------------------------------
function replaceText(id, text) {
var element = document.getElementById(id)
if (null == element) {
// alert("error: can't find element with id '" + id + "'")
return
}
element.innerHTML = text
}