首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用给定的html和javascript打开新窗口(脚本标记)

用给定的html和javascript打开新窗口(脚本标记)
EN

Stack Overflow用户
提问于 2020-01-04 18:49:31
回答 1查看 81关注 0票数 0

在我的应用程序中,我希望打开一个新窗口(必需),它将在html文件之后加载。

代码语言:javascript
复制
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>billboard.js</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta name="robots" content="noindex, nofollow">
    <meta name="googlebot" content="noindex, nofollow">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/billboard.js/1.3.0/billboard.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/billboard.js/1.3.0/billboard.min.css">
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

    <script type="text/javascript">
        $(window).load(function() {

            // chart-1
            var chart1 = bb.generate({
                data: {
                    columns: [
                        ["data1", 30, 200, 100, 400, 150, 250],
                        ["data2", 50, 20, 10, 40, 15, 25]
                    ]
                },
                bindto: "#LineChart-1"
            });
            // chart-2
            var chart1 = bb.generate({
                data: {
                    columns: [
                        ["data1", 30, 200, 100, 400, 150, 250],
                        ["data2", 50, 20, 10, 40, 15, 25]
                    ]
                },
                bindto: "#LineChart-2"
            });

        });

    </script>

</head>

<body>
    <h2>billboard.js show hide points with multiple charts</h2>
    <div class="container">
        <h2>Graph-1</h2>

        <div class="row">
            <div class="col-md-12">
                <div id="LineChart-1" class="bb" style="position: relative;">
                    <svg width="720" height="320" style="overflow: hidden; display: block;">
                </div>
            </div>

        </div>

</body>

</html>

在openWindow函数中,我尝试了以下操作:

代码语言:javascript
复制
window = $window.open('', 'Test', 'width=500,height=400');
myWindow.document.write(ABOVE_HTML_FILE) *OR*  myWindow.document.body.InnerHtml = ABOVE_HTML_FILE

获取以下错误消息:

解析器-阻塞、跨站点(即不同eTLD+1)脚本

因此,我尝试通过

代码语言:javascript
复制
let script = window.document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js';
script.defer = true;
window.document.head.appendChild(script);

现在我得到了错误:

$未定义Jquery不可用.

有什么建议吗?我真的很感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 09:42:09

根据我的注释:删除jQuery和删除onload处理程序。将内联javascript从头部移动到主体中(就在body结束标记之前)。

如果由于某些原因,您确实必须使用jQuery,则可以:

  • 将源代码内联
  • 主机放在与您称为window.open

的相同域中。

但是问问自己是否真的需要jQuery。现在很少有人需要它。您可以在这里查看:http://youmightnotneedjquery.com/

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

https://stackoverflow.com/questions/59593806

复制
相关文章

相似问题

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