Cross Browser兼容性? (jQuery的)

时间:2011-12-21 00:43:00

标签: jquery search cross-browser vbulletin

无论如何我不是互联网大师,但我喜欢修补自己的工具。我最新的工具之一是对vb公告进行“高级”搜索,他们禁用了一些搜索选项。我在Google Chrome中编写并测试过,效果很好。我不能为我的生活弄清楚为什么它不能用于FF或IE。

前提: 此页面将获取您的查询和搜索选项,格式化网址,然后在新窗口中打开它。

之前我曾问过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

Chrome知道我在做什么,但是FF想要解决我的问题。谢谢大家的帮助。保持开放,因为我在评论中有一些运行问题。

1 个答案:

答案 0 :(得分: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 ...