只有在某些事情成立时才定义函数

时间:2014-03-16 18:14:39

标签: javascript google-chrome-extension

这是我的代码的简化版本:

window.onload=function(){
    var url = document.URL;
      if(url.indexOf('someurl')) {
        var function1=function(){
          ...
        }
      }
      else if(url.indexOf('someotherurl')) {
        var function2=function(){
           ... 
         }
      }

我的问题是,如果我在someotherurl上,我只会在function1的正文中出错,如果我在{{1}我会在someurl的正文中收到错误。我怎么能阻止这种情况发生? 我在chrome扩展内容脚本中使用此代码。

1 个答案:

答案 0 :(得分:2)

多数民众赞成,因为如果找不到url.indexOf('someurl'),则评估为-1,如果(-1)为真。

将您的代码更改为:

window.onload=function(){
    var url = document.URL;
      if(url.indexOf('someurl') > 0) {
        var function1=function(){
          ...
        }
      }
      else if(url.indexOf('someotherurl') > 0) {
        var function2=function(){
           ... 
         }
      }