需求描述
甲方要求写一个js,引入到他们的很多页面上,能在页面右下角弹出内容,并且,引入的js中要有参数,弹出内容要根据这个参数来回显。方法有两种:
1、通过地址拼接参数方法,类似于url传参:
<script src="./show.js?id=15sadefz9dsfeskg&width=100&height=100"></script>
show.js里获取参数的方法:
var id, width, height;
var scripts = document.getElementsByTagName("script");
for (var i=0; i< scripts.length;i++) {
var script = scripts[i];
if (script && script.getAttribute("src") && script.getAttribute("src").indexOf("show.js")>-1) {
var url = script.getAttribute("src");
var params = url.substr(url.indexOf("?")+1).split("&");
for (var i=0;i<params.length;i++){
var kv = params[i].split("=");
var key = kv[0];
var value = kv[1];
if("id" == key) {
id = value;
}
if("width" == key) {
width = value;
}
if("height" == key) {
height = value;
}
}
}
}2、通过自定义属性的方式获取:
<script src="./show.js" id="15sadefz9dsfeskg" width="100" height="100"></script>
show.js里获取参数的方法:
var id, width, height;
var scripts = document.getElementsByTagName("script");
for (var i=0; i<scripts.length; i++) {
var script = scripts[i];
if (script && script.getAttribute("src") && script.getAttribute("src").indexOf("show.js")>-1) {
if(script.getAttribute("id")){
id = script.getAttribute("id");
}
if(script.getAttribute("width")){
width = script.getAttribute("width");
}
if(script.getAttribute("height")){
height = script.getAttribute("height");
}
}
}以上两种方式,第二种更加优雅,看个人喜好。
