2010-12-01 4 views
1

私は、スタックオーバーフローに関するMarkdownエディタと恋に落ちたと判断しました。 John Fraserからのshowdown.jsのフォークです。私はこのパーサーを私のプロジェクトに使用したいと思っていますが、ソースを分析した後、私はそれが私の味のためにちょっと乱雑であることがわかりました。これは頻繁には発生しません。このJavaScriptコードはChromeでのみ壊れているのはなぜですか?

は、だから私はつまり、私のニーズを満たすためにJavaScriptコードを修正することについての設定:

  1. 、範囲ごとに単一のvarに変数宣言を組み合わせることで、すべてのグローバル変数、
  2. 退治します配列結合への連結の変更、
  3. 縮小されたソースを小さくするためのさまざまな調整があります。

小さな問題を除いて、私はすべてがうまく機能しています。command.doListのオートコンプリートコードはChromeでうごめきです。私はInternet Explorer、FireFox、およびSafariで正常に動作するようにすべてをテストしました。自動インクリメントもはやリストを終わり近く

// Get the item prefix - e.g. " 1. " for a numbered list, " - " for a bulleted 
// list. 
getItemPrefix = function() { 
    var prefix; 
    if (isNumberedList) { 
     // the `s` variable is just a string space. 
     prefix = [s, num, '. '].join(''); 
     num++; 
    } else { 
     prefix = [s, bullet, s].join(''); 
    } 
    return prefix; 
}; 

// Fixes the prefixes of the other list items. 
getPrefixedItem = function (itemText) { 
    // The numbering flag is unset when called by autoindent. 
    if (isNumberedList === undefined) { 
     isNumberedList = /^\s*\d/.test(itemText); 
    } 

    // Renumber/bullet the list element. 
    // THE FOLLOWING LINES COMMENTED OUT TO FIX A BUG. 
    //itemText = itemText.replace(/^[ ]{0,3}([\*\+\-]|\d+[.])\s/gm, 
     // function() { return getItemPrefix(); }); 
    return itemText; 
}; 

2コメントアウトされたラインがグラグラ行動からChromeを停止しますが、番:私は次の行にまで問題を単離されなかっました。行をコメント解除するとすぐに、すべての主要なブラウザはChromeを除いて正常に動作します。問題が明らかにスタックオーバーフローにここ存在しないので、私は願っています

(順不同リストを使用しようとするときにも起こります。、Chromeはクレイジーになり、余分な番号付けと箇条書きとリストを自動的に完了します)それは私の愚かな見落としです。 (それまたはStack Overflowがバグを更新して修正しました)

+0

「num」はどこに保存されていますか? – xj9

+0

@indieinvader 2つの関数と同じスコープです。 'var getItemPrefix、getPrefixedItem、num = 1;' – Stephen

答えて

2

fixに別のWMDフォーク(32行目)があります。

+0

さて、それを見てください。そして私はそれが私だけだと思った! – Stephen

0

* +は角括弧で囲んでバックスラッシュする必要はありませんか?それはChromeが問題を抱えている可能性があります。

+0

少なくとも、あなたは他の言語の正規表現ではなく、javacriptについてはわかりません –

+0

Hmmm。 JSLintはそれについて私と議論していたので、私はそれを追加しました。 – Stephen

+0

" - "は途中で問題を引き起こす可能性がありますが、最後は問題ではありません。 –

関連する問題