silverlight内容在iframe中不起作用

时间:2013-10-01 16:56:50

标签: 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帧)时,parent.parent具有不同的含义,当我通过iframe在浏览器中间接打开visioMap.htm时。

1 个答案:

答案 0 :(得分:1)

在Visio内部“另存为Web”设置对话框中有一个选项“网页中的主机”。

enter image description here

默认情况下,其值为“None”。您可以在此处选择要嵌入已发布内容的网页。然后它将被放入此页面的<iframe>。或者,选择“基本”以使用<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> 生成包含已发布内容的基本网页。此页面HTML如下:

<iframe>

您可以直接使用此页面或将class revision{ public static void main(String[] args){ for(int i = 0; i < 101; i++){ if(i % 7 != 0 && i % 10 != 7){ System.out.println(i); } } } } 指向此页面上引用的“[您的visio文件名] _main_2.htm”。