同じスライドショーをロードする 3 つのページがあります。javascript から html 要素に変数で新しいコンテンツを渡すことにより、1 つのページに統合しようとしています。効果は ajax に似ている必要があります。渡されたコンテンツには、html マークアップが含まれます。すべて正常に動作しますが、テキストにアポストロフィ記号を含めると失敗します。急性記号を使用して回避できます。しかし、アポストロフィを使用したいと思います。マークアップとスクリプトのサンプルを次に示します。firefox、chrome、ie9 でも同じ結果になります。大したことではありませんが、失敗する理由を理解したいと思います。何か案は?
<?php
// Test of script passing content to <p> element
?>
<!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' xml:lang='en'>
<head>
<script type="text/javascript">
function testSwap(text) {
var text1=text;
document.getElementById('test').innerHTML = text1;
}
</script>
</head><body>
<?php
$testtext="<img style= " float:left;margin:10px " src= " http://www.w3schools.com/images/pulpit.jpg " alt=" Pulpit rock " width="50" height="60" /> <span style="font-weight:bold;font-size:16px;text-decoration:underline" > Second Page Title </span> : This page tells how we found our family´s origins. This sample includes an image, a span element with styling, and a double line break. <br /><br /> They all work. Unfortunately, the script fails if I include an apostrophe in this text so I use ´ instead.<br /><br />Same result in firefox, chrome and ie9. Not a big deal, but I´d like to understand why it fails. Any ideas?";
?>
<div><button type="button" onclick="testSwap('<?php echo $testtext; ?>')">Click Me!</button></div>
<p id='test'><span style='font-weight:bold;font-size:16px;text-decoration:underline'>My Main Page Title:</span>
The pages are in a genealogy site with our family's history. Main page introduces site and describes content<br /><br />Other two pages use same slide show of family pictures, but have more detailed info.<br /><br />Menu currently directs to a new page and reloads the slideshow. I plan to use javascript to avoid the reload if user has it enabled.<br /><br />This sample demonstrates the idea. Click on the button for second page.
</p>
</body></html>