1

我是一个使用 XHTML 模板创建电子商务网站的新手。我想在某些项目下添加免责声明,但不是全部。为了避免在每个项目下键入免责声明(并避免在免责声明更改时出现问题),我想使用 javascript 创建一个副本块,当我指向它时,会添加免责声明。我已经成功地做到了(是的!),但是,在免责声明中是一个 pdf 的链接。当我使用 html 链接到 pdf 时,它失败了。我知道这可能是因为我没有正确的语法,因为 html 在 javascript 代码“内部”。有人可以帮忙吗?

这是我所拥有的:

//<![CDATA[
function openPDF(file)
{
window.open (file, 'resizable,scrollbars');
}
//]]>
</script>

<script type="text/javascript">
//<![CDATA[
onload=function()
{
var txt=document.getElementById("myDiv")
txt.innerHTML="Photos do not represent actual size. Refer to measurements for sizing.
Measurements are approximate. Colors shown may differ depending on your computer
settings. Colors described are subjective and colors may vary from piece to piece,
depending on the natural properties of the stones. To learn more, see our <a href="#" 
onClick="openPDF('www.shop.site.com/media/JewelryGuide.pdf')">Jewelry Guide</a>.";
}
//]]>
</script>

这是我用来调用它的代码:

<div id="myDiv"></div>`
4

2 回答 2

1

嗨,如下所示的功能可以完成我相信的工作..

function openPdf(e, path) {
    // stop the browser from going to the href
    e = e || window.event; // for IE
    e.preventDefault(); 

    // launch a new window with your PDF
    window.open(path, 'somename', ... /* options */);

}

嗨,我做了一个小小提琴希望它有所帮助...... http://jsbin.com/aQUFota/1/edit

于 2013-10-01T09:41:00.480 回答
0

1)您在该文本字符串中有换行符。2)您需要转义几个引号。我选择交换引号并转义文件名周围的引号。

txt.innerHTML = 'Photos do not represent actual size. Refer to measurements for sizing. Measurements are approximate. Colors shown may differ depending on your computer settings. Colors described are subjective and colors may vary from piece to piece, depending on the natural properties of the stones. To learn more, see our <a href="#" onClick="openPDF(\'www.shop.site.com/media/JewelryGuide.pdf\')">Jewelry Guide</a>.';

如果你不想要一条长线,你可以像这样分解这些线:

txt.innerHTML = 'Photos do not represent actual size.' +
'Refer to measurements for sizing. Measurements are approximate.' +
'Colors shown may differ depending on your computer settings.' +

等等。

甚至:

txt.innerHTML = [
  'Photos do not represent actual size.',
  'Refer to measurements for sizing. Measurements are approximate.',
  'Colors shown may differ depending on your computer settings.'
].join('');
于 2013-10-01T09:43:17.587 回答