最近在思考一個問題,想說如果"傳遞變數"給外部連結的"JS檔案"做處理的話該怎麼做呢?經過一番的"胡亂研究"後達成了這個目標,可是覺得自己程式寫的還是"不夠漂亮",先簡單說明一下我使用的方法...首先,使用getElementsByTagName("script")這個函數尋找文件中關於"script"的元素,再利用一個迴圈去尋找"指定變數(p_t=)"的名稱,接著...用indexOf()函數去擷取變數的值,我覺得這個方法有一點"笨笨"的啦!如果有人有更好的方法歡迎告訴我,我的語法如下:
var szTAG = b_getURL('p_t=');
document.write(szTAG);
function b_getURL(szParamName)
{
var pageScripts = document.getElementsByTagName("script");
for(var i=0;i<pageScripts.length;i++)
{
if (pageScripts[i].src)
{
var szURL = pageScripts[i].src.toString();
var iTag = szURL.indexOf(szParamName);
if (-1==iTag)
return '';
var iTag2=szURL.indexOf('&',iTag+2);
if (iTag2 == -1)
return '';
return decodeURI(szURL.substring(iTag+4,iTag2));
}
}
}
document.write(szTAG);
function b_getURL(szParamName)
{
var pageScripts = document.getElementsByTagName("script");
for(var i=0;i<pageScripts.length;i++)
{
if (pageScripts[i].src)
{
var szURL = pageScripts[i].src.toString();
var iTag = szURL.indexOf(szParamName);
if (-1==iTag)
return '';
var iTag2=szURL.indexOf('&',iTag+2);
if (iTag2 == -1)
return '';
return decodeURI(szURL.substring(iTag+4,iTag2));
}
}
}
利用這樣的方式,我將 垃圾信防治協會 做了一個"圖片輪撥"的應用、設計,藉由變數值的處理來達成圖片輪播的秒數...
按此觀看範例
此範例語法是設定"每3秒"輪撥圖片一次,此語法歡迎大家"自行複製"套用在自己的Blog上,語法如下:
<script src="http://hk.geocities.com/tony1861/No_JunkMail.js?p_t=3&" type="text/javascript" charset="utf-8"></script>
其中需要注意的是..."?p_t=3&"這個部份就是設定輪播的秒數格式,最後一定要使用"&"此符號做"斷尾",另外如果不需要"圖片輪撥"只需要"隨機圖片"的話就不用設定,直接使用以下語法就可以了...
<script src="http://hk.geocities.com/tony1861/No_JunkMail.js" type="text/javascript" charset="utf-8"></script>
有興趣的可以試試看喔!
相關連結:Technorati Tags: JavaScript, 教學
1 意見:
可惜無名非金卡不能script...
張貼留言