首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新弹出窗口不指向javascript链接和库

新弹出窗口不指向javascript链接和库
EN

Stack Overflow用户
提问于 2011-08-23 22:18:59
回答 1查看 296关注 0票数 0

我使用此函数打开一个新窗口,使用htmlMarkup作为html内容。

代码语言:javascript
复制
function PC_DownloadAsPdfSuccess(htmlMarkup) {
        $("div#rightcolumnFARP").detachLoader();
        if (htmlMarkup != null && htmlMarkup.length != 0) {               
            var printWindow = window.open("", "");
            var newDocument = printWindow.document;

            newDocument.open();
            newDocument.write(htmlMarkup);
            newDocument.close();
        } 
    }

新页面工作正常,除了它不能识别包含js库,比如jquery,MicrosoftMvcAjax.js等等。我得到了各种各样的错误,比如:

未定义$,未定义jquery,也未定义xVal。我很确定这是因为新窗口中的链接路径没有正确指向脚本,而只是在IE中。Firefox没有这个问题。

这是似乎是问题所在的head htmlMarkup。我已经尝试了几个级别(使用../)来尝试路径,但仍然没有成功。

代码语言:javascript
复制
    <head id="Head1"><title>
    Print preview
</title>

    <script src="/Scripts/jquery-1.6.1.min.js" type="text/javascript"></script>

    <link href="/Content/ui.base.css" rel="stylesheet" type="text/css"
        media="screen" />

<script src="/Scripts/utils.js" type="text/javascript"></script>
    <script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
    <script src="/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
    <script src="/Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
    <script src="/Scripts/jquery-1.6.1.min.js" type="text/javascript"></script>

    <script src="/Scripts/jquery.jqGrid.min.js" type="text/javascript"></script>
    <script src="/Scripts/jquery-ui-1.8.1.custom.min.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.preloadImages.js" type="text/javascript"></script>
    <script src="/Scripts/grid.locale-en.js" type="text/javascript"></script>
    <script src="/Scripts/grid.base.js" type="text/javascript"></script>
    <script src="/Scripts/grid.formedit.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.tablednd_0_5.js" type="text/javascript"></script>
    <script src="/Scripts/xVal.jquery.validate.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.validate/jquery.validate.min.js" type="text/javascript"></script>
    <script src="/Scripts/jquery-html-encode-decode.js" type="text/javascript"></script>
    <script src="/Scripts/jquery-timedLogout.js" type="text/javascript"></script>
    <script src="/Scripts/round-corners.js" type="text/javascript"></script>
    <script src="/Scripts/superfish.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.formatCurrency-1.3.0.min.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.tipTip.js" type="text/javascript"></script>
    <script src="/Scripts/easyslider.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.json.min.js" type="text/javascript"></script>
    <script src="/Scripts/browserSelector.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.antiForgeryToken.js" type="text/javascript"></script>
     <script src="/Scripts/jquery.watermark.min.js" type="text/javascript"></script>
      <script src="/Scripts/jquery.autocomplete.js" type="text/javascript"></script>
       <script src="/Scripts/jquery.calculation.js" type="text/javascript"></script>
    <script src="/Scripts/DetectBrowser.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.infoblock.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.jloader.js" type="text/javascript"></script>
    <script src="/Scripts/jqGridHeight.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.alerts.js" type="text/javascript"></script>
    <script src="/Scripts/tabs.js" type="text/javascript"></script>
    <script src="/Scripts/CustomValidation.js" type="text/javascript"></script>
    <script src="/Scripts/fullcalendar.js" type="text/javascript"></script>
     <script language="javascript" type="text/javascript" src="/Scripts/jqplot/jquery.jqplot.min.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/plugins/jqplot.pieRenderer.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/plugins/jqplot.barRenderer.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/plugins/jqplot.categoryAxisRenderer.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/plugins/jqplot.dateAxisRenderer.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/plugins/jqplot.barRenderer.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/plugins/jqplot.canvasAxisTickRenderer.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/plugins/jqplot.canvasTextRenderer.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/plugins/jqplot.highlighter.js"></script>
    <script language="javascript" type="text/javascript" src="/Scripts/jqplot/excanvas.min.js"></script>
<head>
EN

回答 1

Stack Overflow用户

发布于 2011-08-23 23:18:11

这是因为你已经打开了窗口,这将完成加载事件,之后你将放置内容,因此内容被视为文本,脚本函数不会加载到您打开的窗口中。假设如果在脚本标记内的窗口中公开编写javascript函数,那么它就可以工作了,因为外部脚本文件没有加载,所以您得到了这些错误,请尝试其他方法来解决您的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7162505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档