javascript - silverlight 内容在 iframe 中不起作用

标签 javascript html asp.net silverlight visio

我在 ASPX 页面中有一个 iframe,如下所示:

<iframe id="mapFrame" name="mapFrame" src="project/visioMap.htm" frameborder="0" width="100%" height="900px" runat="server" />

项目目录保存Visio导出的网页内容。我想将此内容嵌入到 .NET 网站中,而不更改 Visio 导出的任何内容(即 *.htm、*.js、*.xaml)。这就是为什么我尝试使用 iframe 标签嵌入。

但是,当页面加载时,它崩溃并出现错误:

TypeError: parent.parent.FindShapeXML is not a function
var shapeNode = parent.parent.FindShapeXML (pageID, shapeID); // in a *.js file

此错误出现在 Visio 导出的 *.js 文件中,但正如我所说,我不想编辑 Visio 导出的任何文件。如果我只是打开 visioMap.htm,一切都会正常工作,因此指向它的 iframe 默认情况下应该可以正常工作。

显然,当我直接在浏览器中打开 visioMap.htm(具有 2 个框架)和通过 iframe 在浏览器中间接打开 visioMap.htm 时,parent.parent 具有不同的含义。

最佳答案

Visio“另存为 Web”设置对话框内有一个选项“托管在网页中”。

enter image description here

默认情况下,其值为“无”。您可以在此处选择一个网页,您想要在其中嵌入已发布的内容。然后它会被放入 <iframe>在本页。或者,选择“基本”以使用 <iframe> 生成基本网页。其中包含已发布的内容。该页面HTML如下:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title></title>
    </head>
    <iframe src="[Your visio file name]_main_2.htm" width="100%" height="100%" frameborder="1" scrolling="auto">
        <!-- No iframesupport --> 
    </iframe>
</html>

您可以直接使用本页面或点您的<iframe>到此页面引用的“[您的 visio 文件名]_main_2.htm”。

关于javascript - silverlight 内容在 iframe 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19121851/

相关文章:

javascript - 无法将 getElementbyID 值插入 SQL 表

html - 如何用css格式化输入框中的文本

c# - 在 Asp.net Mvc 5 应用程序中将用户分配给项目列表

asp.net - 动态创建文本框并获取其值

c# - ASP.Net:回发后如何维护文本框状态

javascript - 将数据添加到 Bootstrap 模式

javascript - 如何在 ember cli 中创建 itemViewClass

javascript - innerHTML 显示后迅速消失

html - JavaScript : Random Style Class Using Math. 随机()

javascript - 如何在 Blogger 中添加 Javascript?