2017-07-25 34 views
0

safariのブラウザからsafely ReferenceError: Can't find variable: Setエラーが表示されます。私は他のブラウザをチェックしましたが、私はこのエラーがすべて正常に動作していませんでした。Safari ReferenceError:変数を見つけることができません:

ここで何が間違っているのか、誰でも私のコードをすべてのブラウザで処理する方法は何ですか?

Demo

問題ライン

var charactersX = new Set([ 
     0, 
     32, // space 
     13 // enter 
     // add other punctuation symbols or keys 
    ]); 
    // Convert characters to charCode 
    function toCharCodeX(char) { 
     return char.charCodeAt(0); 
    } 

    var forbiddenCharactersX = new Set([ 
     toCharCodeX("_"), 
     toCharCodeX("-"), 
     toCharCodeX("?"), 
     toCharCodeX("*"), 
     toCharCodeX("\\"), 
     toCharCodeX("/"), 
     toCharCodeX("("), 
     toCharCodeX(")"), 
     toCharCodeX("="), 
     toCharCodeX("&"), 
     toCharCodeX("%"), 
     toCharCodeX("+"), 
     toCharCodeX("^"), 
     toCharCodeX("#"), 
     toCharCodeX("'"), 
     toCharCodeX("<"), 
     toCharCodeX("|"), 
     toCharCodeX(">"), 
     toCharCodeX("."), 
     toCharCodeX(","), 
     toCharCodeX(";") 
    ]); 
+0

?これは多かれ少なかれ[バージョン7.1からサポートされています](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#Browser_compatibility) –

+0

@RobMです。うーん、私はそれを参照してください。だから、デスクトップやモバイル機器のようなすべてのブラウザを動かすためのあらゆる解決策がありますか? – Azzo

+0

@ RoM。あなたがこの賞金から答えることができれば[質問](https://stackoverflow.com/questions/43351621/check-pressed-space-then-add-diez-tag-using-jquery-with-multi-language ) – Azzo

答えて

1

使用アレイの代わりに

var charactersX = [ 
    0, 
    32, // space 
    13 // enter 
    // add other punctuation symbols or keys 
]; 

と、例えば、.has()を交換ここに:

if (charactersX.indexOf(code) > -1) 

とあまりにindexOf > -1

if (forbiddenCharactersX.has(code)) 

if (charactersX.has(code)) 

...あなたが使用しているのSafariのバージョンは何

+0

あなたのコードはうまくいきます。ありがとう。しかし、時間があれば、私に答えてください。私はCharcodeAt(0)を使用しました。 76行目のデモで、モバイルデバイスで自分のコードを動作させることができます。しかし、それはモバイル上で動作していません。ここでの問題は何ですか?あなたは私の質問を確認することができます[デモ](https://codepen.io/shadowman86/pen/RZwrzQ) – Azzo

+0

あなたのペンにcharCodeAt(0)がありますが、これはモバイルでは問題ではありません。さらにエラーが発生した場合は、新しい質問をして詳細を記入してください。@DevStud – baao

+0

私のコメントの質問についてはここから賞品の質問を掲載しました。[こちら](https://stackoverflow.com/questions/43351621/check- die-tag-jquery-with-multi-languageを使用したプレス・スペース・アンド・アド・ダイス) – Azzo

関連する問題