3

ここで私のブラウザで奇妙な経験があります。以下のこのコードは、すでにこの URL にアップロードされています: http://roberthanson.net/index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script src="scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function($) {
        $('ul li').click(function() {
            $('input#shareto').val($(this).data('val'));
        });
    });​
</script>
</head>

<body>

<form>
<ul>
<li data-val="0-1">
<a href="#" title="" class="selected"><span class="to-admin">Administrator</span></a>    
</li>

<li data-val="1-1">
<a href="#" title=""><span class="to-finance">Finance</span></a>    
</li>

<li data-val="1-0">
<a href="#" title=""><span class="to-technician">Technician</span></a>
</li>

<li data-val="0-0">
<a href="#" title=""><span class="to-lawyer">Legal</span></a>    
</li>
</ul>
<input id="shareto" type="text" value="1-0" name="shareto">
​
​&lt;/form>​​​​​​​​

</body>
</html>

Linux 上の Microsoft Internet Explorer と Firefox で開くと、これらのコードは完全に機能します。値は、クリックされた LI タグに基づいて変化します。しかし、私の Mac ではこのような動作は見られません。Mac にインストールされているすべてのブラウザー (Safari、Chrome、さらには Firefox 自体) で、IE や Firefox と同じ結果が得られません。

このような経験をしたのは私だけですか?または、Mac で動作させるための追加のコードはありますか? 前にありがとう。

4

1 に答える 1

5

わかりました。コードを試しましたが、Linux上のChromiumでは機能しません。

私が得るエラーはUnexpected token ILLEGAL12行目です。

コードをvimにコピーして貼り付け、ブラケットの一致やこれらの問題を引き起こす可能性のあるその他のものをチェックします。そうすると、vimバッファーでこれを見ました:

`<200b>`

これは、vimがキャラクターをレンダリングできないときに行うことです。ウィキペディアをざっと見てみると、U + 200bはZWSP、つまりゼロ幅スペースであることがわかります。目に見えない文字がどのようにコードに含まれるかはわかりませんが、WebkitのjavascriptエンジンであるJavascriptCoreはそれらの文字を好まないようですが、V8とSpiderMonkey(とにかくFFのもの)は問題ありません。

つまり、修正は});、スクリプトブロックの最後にある非表示の文字を削除することです。これは、文字を削除するのと同じ方法で実行できます。違いはわかりません。

于 2012-07-27T06:18:04.513 に答える