2013-04-03 34 views
-1

我的問題是:運行JavaScript通過URL

我有一個eibport: www.bab-tec.de/

你可以看到在現場部分現場演示。

現在的問題。

我想啓動或運行此頁面上的JavaScript和輸入URL,如: http:// IP-EIBPORT /#javascript:click(Button)

或以另一種方式。

有人可以幫助我嗎?

+2

如果你這樣做,任何人都可以調整你的網址發送惡意腳本... – Christophe 2013-04-03 20:24:26

回答

0

您不能在URL中包含JavaScript調用代碼。您可以做的最好的是在目標頁面上有一個腳本,用於檢查位置,並做出相應響應。

舉一個例子,假設你想通過url公開sum方法。如果有人使用以下查詢字符串加載頁面:?method=sum&params=5,5,則可以使用邏輯來查找這些部分並對其進行處理。

var methods = { 
    sum: function() { 
     var result = 0; i = -1; 
     while (++i < arguments.length) 
      result += parseInt(arguments[i], 10); 
     return result; 
    } 
}; 

var method = location.search.match(/method=(.*)&/)[1], 
    params = location.search.match(/params=(.*)$/)[1].split(","); 

var result = methods[ method ].apply(this, params); 

alert(result); 

看到它在行動:http://jsfiddle.net/jonathansampson/TF5ta/show/?method=sum&params=5,5

1

您可能需要設置你的腳本來尋找一個sepcific哈希和運行基於該功能。

switch(location.hash){ 
    case "#button": 
     //click button 
    break; 
    case "#other": 
     //do something else 
    break; 
} 

然後使用網址像/#button/#other


的方式做的正是你想要的是下面的,但它不推薦!

eval(location.hash.substr(1)); 

使用像/#alert('test');一個網址,將工作,但它意味着任何人都可以鏈接到你的網站和執行JavaScript這是做一個非常不安全的事情。