使用Javascript打开一个弹出窗口并附加父窗口中的元素

时间:2014-01-26 18:03:47

标签: javascript html asp.net popup append

我有一个用ASP.NET生成的HTML页面, parent.aspx ,我希望在点击超链接后打开一个包含已存在的html页面的弹出窗口,< strong> article.html 并将parent.aspx中的元素追加到html页面。这两个文件 parent.aspx article.html 位于同一文件夹中。

article.html 除了包含标题元素(如标题和正文)之外,还包含一个既没有内容也没有节点的div,用作附加内容的占位符

parent.aspx

<a href="javascript:displayPopup('article.html');">Open Article</a>
<div id="articleContent">
    <table>
    <!--article content-->
    </table>
</div>

article.html

<body>
<div id="article"></div>
</body>

的Javascript

function displayPopup(url) {
            var popupWindow;
            var width = 960;
            var height = 700;
            var left = parseInt((screen.availWidth / 2) - (width / 2));
            var top = parseInt((screen.availHeight / 2) - (height / 2));
            var articleContent = document.getElementById("articleContent").innerHTML;
            var windowProperties = "width=" + width + ",height=" + height + ",status,resizable,left=" + left +           ",top=" + top + ",screenX=" + left + ",screenY=" + top + ",scrollbars=yes";
            popupWindow = window.open(url, 'article', windowProperties);
            var articleDiv = popupWindow.document.getElementById("article");
            articleDiv.innerHTML += articleContent;
            popupWindow.document.close();
            if (window.focus) 
            { popupWindow.focus() }
        }

我将代码放在jsFiddle中,虽然我无法插入两个不同的HTML页面,但只有 parent.aspx 的标记。代码在调试模式下工作,但由于某种原因,它在正常执行期间不会。我无法发现错误,有人可以帮忙吗?谢谢!

更新:如果我检查身体内弹出窗口的代码

<body>
<div id="article" class="content"> </div>
<script type="text/javascript" src="https://www.pc-gizmos-ssl.com:9899/scripts/main.js?ver=1.0.0.6">
<form id="GM_form" target="_blank"></form>
</body>

我不知道pc-gizmos脚本来自哪里

1 个答案:

答案 0 :(得分:1)

在parent.aspx页面上,将代码更改为:

<div id="articleContent">
    <b>
      This is some article content
    </b>
</div>

完成后,请再次点击弹出窗口,然后您应该以粗体显示“这是一些文章内容”。

此外,您从未说明在点击“弹出”链接后是显示错误还是仅显示空白页面。这使得难以提供解决方案。