我的服務器上有一個JavaScript,我需要在調用URL時在JavaScript內設置值/調用函數。有沒有這樣做?從URL向JavaScript發佈數據
UPDATE:
<script type="application/x-javascript" src="test-test.js"></script>
那它是如何其加載的HTML網站。我想在test-test.js中調用函數測試(e,e),將URL放在瀏覽器中,並使用e,e的某些值。
我的服務器上有一個JavaScript,我需要在調用URL時在JavaScript內設置值/調用函數。有沒有這樣做?從URL向JavaScript發佈數據
UPDATE:
<script type="application/x-javascript" src="test-test.js"></script>
那它是如何其加載的HTML網站。我想在test-test.js中調用函數測試(e,e),將URL放在瀏覽器中,並使用e,e的某些值。
除非您使用少數採用服務器端JavaScript的Web服務器之一,否則您的腳本將在頁面加載後在瀏覽器中運行。如果要在腳本中包含來自URL的信息(並且假設您可以在不更改服務器行爲的情況下使用查詢字符串),則可以使用window.location.search
從問號開始獲取所有內容。
該函數將返回整個查詢字符串(沒有問號)或匹配名稱值值的分號分隔的列表,你給它:
function getUrlQueryString(param) {
var outObj = {};
var qs = window.location.search;
if (qs != "") {
qs = decodeURIComponent(qs.replace(/\?/, ""));
var paramsArray = qs.split("&");
var length = paramsArray.length;
for (var i=0; i<length; ++i) {
var nameValArray = paramsArray[i].split("=");
nameValArray[0] = nameValArray[0].toLowerCase();
if (outObj[nameValArray[0]]) {
outObj[nameValArray[0]] = outObj[nameValArray[0]] + ";" + nameValArray[1];
}
else {
if (nameValArray.length > 1) {
outObj[nameValArray[0]] = nameValArray[1];
}
else {
outObj[nameValArray[0]] = true;
}
}
}
}
var retVal = param ? outObj[param.toLowerCase()] : qs;
return retVal ? retVal : ""
}
因此,如果URL是,說:
http://www.yoursite.com/somepage.html?name=John%20Doe&occupation=layabout
如果你打電話getUrlQueryString()
你還是會回到name=John Doe&occupation=layabout
。如果您致電getUrlQueryString("name")
,您會收到John Doe
。
(是的,我喜歡橫幅式縮進所以起訴我。)
Thx ...非常有幫助:)我解決了這個問題 – Roskvist 2010-09-22 07:17:17
您可以使用address plugin以便能夠通過在URL中一些狀態低谷#
符號:http://my_site/my_page#your_condition
在HTML中你可以寫這樣的:對於futher幫助
<script>
$(function(){
// Init and change handlers
$.address.init().change(function(event) {
if (event.value == "your_condition")
run_my_finction();
});
)};
<script>
如果你想從瀏覽器的地址欄中執行JavaScript,你可以使用自調用函數:
javascript:(function() {
alert('Hello World');
/* Call the JavaScript functions you require */
})();
請擴大一點。你打電話給網址是什麼意思?你在使用AJAX嗎? – nico 2010-09-21 06:57:02
是你手動將URL放入瀏覽器(或點擊鏈接)?如果你是,你需要把它放在查詢字符串中(因爲它是一個HTTP GET)。如果您發佈到URL(HTTP POST),您可以閱讀目標頁面上的表單發佈值並將它們註冊到腳本中。 – RPM1984 2010-09-21 06:58:30
你正在運行JavaScript _on_服務器,還是在客戶端? – thomasmalt 2010-09-21 06:58:59