質問

Googleオプティマイザーには、変換コードの一部として次のスニペットが含まれています。残念ながら、使用しているCMSは一重引用符を自動的にASCIIに変換します(')。私はJSの初心者ですが、私の理解では、一重引用符と二重引用符は基本的に交換可能です。ただし、スクリプト内に既存の二重引用符があるため、単純なスワップではありません。このスクリプトで一重引用符を二重に置き換えることは可能ですか?その場合、URL部分の既存の二重引用符をエスケープして、スクリプトの機能を維持するにはどうすればよいですか。

<script type="text/javascript">
if(typeof(_gat)!='object')document.write('<sc'+'ript src="http'+
(document.location.protocol=='https:'?'s://ssl':'://www')+
'.google-analytics.com/ga.js"></sc'+'ript>')</script>
役に立ちましたか?

解決

はい、一重引用符と二重引用符は交換可能です。文字列内の現在の二重引用符を \&quot; でエスケープし、単一引用符をすべて二重引用符に置き換える必要があります。

<script type="text/javascript">
if(typeof(_gat)!="object")document.write("<sc"+"ript src=\"http"+
(document.location.protocol=="https:"?"s://ssl":"://www")+
".google-analytics.com/ga.js\"></sc"+"ript>");
</script>

他のヒント

これを試してください:

<script type="text/javascript">
if(typeof(_gat)!="object")document.write("<sc"+"ript src=\"http"+
(document.location.protocol=="https:"?"s://ssl":"://www")+
".google-analytics.com/ga.js\"></sc"+"ript>")</script>
<script type="text/javascript">if(typeof(_gat)!="object") 
document.write("<sc"+"ript src=\"http"+
(document.location.protocol=="https:"?"s://ssl":"://www")+
".google-analytics.com/ga.js\"></sc"+"ript>")</script>
<script type="text/javascript">
if(typeof(_gat)!="object")document.write("<sc"+"ript src=http"+
(document.location.protocol=="https:"?"s://ssl":"://www")+
".google-analytics.com/ga.js></sc"+"ript>")</script>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top