我有一个PHP文件,它调用我的print.js来打印页面。这个文件在我的服务器上运行得很好,但在我将文件夹移动到新服务器后,它就停止了工作。我所做的只是在移动文件夹后更改文件夹名称,但我很困惑,因为没有任何绝对路径,所以它应该仍然可以工作。单击打印按钮时,我得到Uncaught ReferenceError: PrintThisPage is not defined
。我不确定问题出在哪里,因为以前一切都很好。有人能告诉我为什么我会收到这个错误吗?
PHP
<?php render('_header',array('title'=>$title))?>
<div data-role="page" id="XPage" class="bluebg" data-theme="b">
<script language="text/javascript" src="js/print.js"></script>
<script language="text/javascript" src="js/share.js"></script>
<div id="sharecontainer" style="width=100%; text-align: right;">
<fieldset data-role="controlgroup" data-type="horizontal" data-mini="true">
<a href="#" data-role="button" id="print" data-icon="action" data-iconpos="left" data-mini="true" onclick="PrintThisPage()">Print</a>
</fieldset>
</div>
JS
function PrintThisPage()
{
var sOption="toolbar=yes,location=no,directories=yes,menubar=yes,";
sOption+="scrollbars=yes,width=750,height=600,left=100,top=25";
var youChoseHTML = $('#youchose').html();
var productHTML = $('#products').html();
var warningHTML = $('#warningcontainer').html();
var winprint=window.open("","",sOption);
winprint.document.open();
winprint.document.write('<html><LINK href=assets/css/printstyle.css rel=Stylesheet><body onLoad="self.print()">'); winprint.document.write('<img src="assets/img/master.w.m.us.LogoHeader.jpg"><br>');
winprint.document.write(youChoseHTML);
winprint.document.write(warningHTML);
winprint.document.write(productHTML);
winprint.document.write('<div class=disclaimer>DISCLAIMER: The information provided is for reference only.</div>');
winprint.document.write('</body></html>');
winprint.document.close();
winprint.focus();
}
function getUrlVars() {
var url = window.location.href,
vars = {};
url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
key = decodeURIComponent(key);
value = decodeURIComponent(value);
vars[key] = value;
});
return vars;
}
所以,发现了问题。你有:
<script language="text/javascript" src="js/print.js"></script>
您必须将语言更改为类型,它应该是这样的:
<script type="text/javascript" src="js/print.js"></script>