| /* |
| * 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 (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 |
| } |