href javascript限制

时间:2015-10-15 21:54:26

标签: javascript href

由于样式原因,大多数人都不会在href中使用javascript。事实上,你可以在href中做什么有严重的限制。不幸的是,开发者控制台无法帮助,所以我希望你可以。这确实有效:

     <a href="javascript:alert('high five');
     var request = new XMLHttpRequest();
     request.onreadystatechange = function () {
     var DONE = this.DONE || 4;
     if (this.readyState === DONE){
     alert(this.readyState);
     }
     };
     request.open('GET', 'http://www.mototale.com', true);
     request.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 
     request.send(null);
     ">mosh mosh</a>

但这并不是:

    <a href="javascript:alert('high five');
    var foo=document.getElementById('ko');
    function doMove() {foo.style.left =
      parseInt(foo.style.left)+1+'px';setTimeout(doMove,20);};
    function init(){foo.style.left = '0px';doMove();};
    init();">move</a>   
    <p id="ko">ok</p>

和许多变种。

请不要建议使用不在此问题范围内的onclick或unobtrusive。 javascript:中的href有哪些限制?

2 个答案:

答案 0 :(得分:1)

要调用函数,您需要()。变化

init;">move</a> 

为:

init();">move</a> 

在第二个版本中它应该可以工作。

答案 1 :(得分:0)

你永远不会在第二个例子中呼叫constexpr

constexpr