通过网址运行javascript

时间:2013-04-03 19:33:56

标签: javascript

我的问题是:

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

您可以在实时部分看到现场演示。

现在问题。

我想在此页面上启动或运行javascript并输入以下网址: http:// IP-EIBPORT /#javascript:click(Button)

或以其他方式。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您可能需要设置脚本以查找特定哈希值并根据该脚本运行函数。

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

然后使用/#button/#other

等网址

完全按照你想要的方式进行以下操作,但不建议这样做!

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

使用类似/#alert('test');的网址即可,但这意味着任何人都可以链接到您的网站并执行javascript,这是一件非常不安全的事情。

答案 1 :(得分:0)

您不能在URL本身中包含JavaScript调用代码。您可以做的最好的事情是在目标页面上有一个检查位置的脚本,并做出相应的响应。

例如,假设您想通过网址公开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