我在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时。
答案 0 :(得分:1)
在Visio内部“另存为Web”设置对话框中有一个选项“网页中的主机”。
默认情况下,其值为“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”。