Tek bir alıntı olarak belirtilmiş bir dizgi JavaScript dizgisi haline getirilmeden bir dizgeden düzgün şekilde kaçacak bir yardımcı işlev var mı?javascript için magento çıkış dizesi
Ben jsQuoteEscape biliyorum ama sadece tırnak kolları ve tedavi \ vermez n & \ r vb
yani benim dize 'satırı1 \ nlineb' (aralarında bir satır ile yani iki satır) iseve ben görüntülenen içeriği geçecektir
var jsvar='<?php echo $this->helper('myextension')->jsQuoteEscape($mystring); ?>';
kullanmak
var jsvar='line1
line2';
Bir sözdizimi hatası olan
.
sayesinde Eyal
kontrol bir dize json olarak bu çok fazla bir bit olduğunu bir his var nitelemek görünmüyor. (en azından javascript tarafındaki ek yük açısından. json_encode'u nesne olmayan bir nesneyle çağırmaktan endişe ediyorsanız, dizeyi bir dizide tek bir üye olarak geçirmeyi tercih ediyorum ve sonuçtan bir şeyleri kırpıyorum. ilk [[ve herhangi bir şeyden sonuncuya kadar] ve dahil olmak üzere. Bu sonuç, tam olarak ne istediğinizi ve daha fazlası ile JS ile sonuçlanır. Pratikte, bir şey (muhtemelen) çok yaygın olduğundan şüphe duyuyorum. – epeleg
Yani, , Mage :: helper ('core') -> jsonEncode ($ string) 'ile veya" json_encode ($ string) 'ile" "ile gidersiniz? Bir yandan daha kısa olduğu gibi ve daha az yükü var gibi görünüyor daha iyi olur. (İkincisinin PHP'nin bir parçası olduğunu mu varsayıyorum? Ya da değil mi?). – epeleg
Muhtemelen haklısınız, her seferinde kendime "Beklenmedik kenar vakaları olmayacak bu basit ip dizisini yazacağım" dediğim halde, uçurumlarda ısırıldım. Bundan dolayı, herhangi bir dinamik JS varsayı geçme alışkanlığından, yukarıda belirtildiği gibi json olarak geçtim. –