1

PHPを使用してyepnope機能テストをエコーアウトするための、より優れたより堅牢なソリューションを探しています。出力は次のようになります。

{
  test : Modernizr.geolocation,
  yep  : 'normal.js',
  nope : ['polyfill.js', 'wrapper.js']
}

次のような出力から:

$l10n = array(
   'test' => 'Modernizr.geolocation',
   'yep' => "'normal.js'",
   'nope' => array("'polyfill.js'", "'wrapper.js'")
);

明らかに、json オブジェクトが引用符で囲まれているという問題があります。生のJavaScriptと文字列を含む混合JavaScriptオブジェクトの作成に対応する、まったく別のクラスがあるのではないかと思わずにはいられません。

4

1 に答える 1

0

json_encode値の JSON 表現を返します。ポイントは、JSON 表現はJavaScript オブジェクトではありません。JSON は JavaScript オブジェクト リテラルのサブセットであるため、JavaScript で変換を行う必要があります。

var l10n = <?php echo json_encode($l10n); ?>;

if (l10n.test === "Modernizr.geolocation") {
  l10n.test = Modernizr.geolocation;
}
于 2012-08-10T02:41:07.670 に答える