2011-12-21 21 views
0

私はインターネットの専門家ではありませんが、私は周りを見回して自分自身のツールを作りたいです。私の最新のツールの1つはVB掲示板の「高度な」検索で、検索オプションのいくつかを無効にしました。私は書いて、Google Chromeでテストして、完璧に動作します。私はFFやIEでうまくいかない理由を理解することができません。クロスブラウザの非互換性? (jQuery)

施設内: このページでは、検索オプションと検索オプションを使用してURLをフォーマットし、新しいウィンドウで開きます。

ここまで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は私に出DERPしたかったです。助けてくれてありがとう。私はコメントにいくつかの実行中の質問があるので、これを開いたままにしておきます。

+0

これは大きなif/else文です。マップ/配列/ etcの使用を検討しましたか?シンプルなデータ構造のためにそれを排除しますか? –

+0

「動作しません」と定義します。何が起こるのですか?あなたのコンソールにエラーがありますか? –

+0

'window.open()'を実行しようとしているので、ポップアップがブロックされているという警告は表示されますか?各ブラウザには、ブロック/許可するもののための独自のロジックがあり、ロジックにも影響を与える設定があります。 – jfriend00

答えて

1

これは本当にコメント(回答ではありません)ですが、重要なコードをコメントに入れることはできませんので、参考にしておいてください。これはおそらくあなたのクロスブラウザーの問題ではない(私はそれがポップアップブロックによって引き起こされると思う)が、あなたは本当にあなたのコードを消耗し、すべてのデータをテーブルに入れ、テーブルからそれを見上げることによって、次のようなコードを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

私は上記のコードが本当に好きです。しかし、データを追加すると、「Uncaught SyntaxError:Unexpected token:」というJavaScriptコンソールがスローされます。テストページはhttp://dl.dropbox.com/u/12531574/ADVLolSearch/index.htmlです。 –

+0

エラーメッセージの参照先の行番号を確認しましたか?これは 'cd:[35]'行の最後にカンマがないことを示しています。 – jfriend00

+0

私はこの問題を見つけたかもしれませんが、[]の後にいくつか不足していました。 Firefoxのエラーコンソールがそれをキャッチしましたが、Chromeはそれをしませんでした。ああ、お友達の忍者が投稿しました。私はまだ手を触れている。私はソースに適切なクレジットを与えたい。どのように私はあなたを信用するように任意の設定ですか? –

関連する問題