2011-12-21 94 views
0

我不是任何方式的互联网大师,但我喜欢修补和构建自己的工具。我的最新工具之一是对vb公告的“高级”搜索,他们禁用了一些搜索选项。我在Google Chrome中编写并测试过,效果很好。我不能为我的生活找出为什么它不会在FF或IE中工作。跨浏览器不兼容? (jQuery)

该场所: 此页面将查询和搜索选项,格式化网址,然后在新窗口中打开它。

我已经问过Q在这里,但通常已经将问题缩小到少量的代码。由于这是一个跨浏览器问题,我不知道如何处理发布代码。所以我会做的是给该网站的链接,并要求你检查来源。我也接受任何关于如何在此处发布源代码以使事情更简单的建议。

页: http://advlolsearch.herobo.com/

JS: http://advlolsearch.herobo.com/js/page.js

CSS: http://advlolsearch.herobo.com/css/mystyle.css

解决: Heyooooooo!我发现了这个问题。我需要改变:

$(".button").click(function() { 
    var ID = event.target.id 

$(".button").click(function(event) { 
    var ID = event.target.id 

铬明白我在做什么,但FF想DERP在我身上。感谢所有帮助。尽管如此,因为我在评论中有几个运行问题。

+0

这是一个很大的if/else语句。你有没有考虑过使用map/array /等。并消除它,有利于简单的数据结构? –

+0

定义“不起作用”。会发生什么?你的控制台有错误吗? –

+0

由于您正在尝试执行'window.open()',您是否收到关于被阻止的弹出窗口的警告?每个浏览器都有自己的逻辑来阻止/允许它,并且设置也会影响逻辑。 – jfriend00

回答

1

这真的是一个评论(不是答案),但我不能在评论中放置大量的代码,所以我会把它放在这里,因为我认为这会有所帮助。这可能不是你的跨浏览器问题(我怀疑这是由弹出窗口阻止引起的),但是你真的应该干掉你的代码,并将所有重复的代码块全部放入一个表中,并从表中查找用这样的一小段代码:

... 
if (val=="forum") { 
    var selectedforum = $('#select').val(); 
    var searchby = $('input:radio[name=search]:checked').val(); 
    var showas = $('input:radio[name=show]:checked').val(); 
    var dataLookup = { 
     na: { 
      all: [], 
      np: [29], 
      tg: [29], 
      mm: [48,49,43], 
      sr: [48], 
      tw: [49], 
      dm: [43], 
      ll: [9,2,16,41,23,15,20,32] 
      // ... put the rest here 
     }, 
     euw: { 
      all: [], 
      np: [4] 
      // rest of the data here 
     }, 
     eune: { 
      all: [], 
      np: [4] 
      // rest of the data here 
     } 
    }; 
    if (region in dataLookup) { 
     var data = dataLookup[region]; 
     if (selectedForum in data) { 
      fID = ""; 
      for (var i = 0; i < data[selectedForum].length; i++) { 
       fID += "&forumchoice[]=" + data[selectedForum][i]; 
      } 
      var theURL = "http://" + region + ".leagueoflegends.com/board/search.php?do=process&query=" + query + fID + "&titleonly=" + searchby + "&showposts=" + showas; 
      theURl = theURL.replace(' ','%20'); 
      window.open(theURL); 
     } 
    } 
} else if ... 
+0

我真的很喜欢上面的代码。但是,当我添加数据时,我得到了“未捕获的SyntaxError:意外的令牌:”在JavaScript控制台中抛出。我的测试页面在这里http://dl.dropbox.com/u/12531574/ADVLolSearch/index.html想法? –

+0

你看过错误信息中的参考行号吗?它显示你在'cd:[35]'行末尾有一个缺失的逗号。 – jfriend00

+0

我可能发现了这个问题,我错过了一些,在[]之后。 Firefox错误控制台发现,但Chrome没有。阿jfriend忍者张贴。我仍然在修修补补。我想给出适当的信用来源。任何喜欢我如何信任你? –