这个问题也在sharepoint.stackexchange.com,但未能获得观点或回复,所以我在这里发帖。
我正在尝试设置通过Visio Web服务显示的Visio文档的缩放级别。
http://mysite/_layouts/VisioWebAccess/VisioWebAccess.aspx?id=/Shared%20Documents/MyDiagram.vdw
我想使用“适合页面”缩放级别,这是通过按工具栏右侧的按钮实现的。我的第一个想法是通过javascript点击按钮,但没有立即获得成功,也偶然发现了Objects in the Visio Services JavaScript API,Vwa.VwaControl.getActivePage Method和Vwa.Page.setZoom Method上的MSDN文章。
我可以成功构建一个VwaControl
对象
vwaControl = new Vwa.VwaControl("ctl00_PlaceHolderMain_VisioWebAccess");
但是当我在此控件上调用null
时,我得到getActivePage()
。
我尝试使用页面中的其他ID构建其他VwaControl
,但它们都不是有效的 - 我收到错误,例如“id {0}不存在VwaControl”。我试过从vwaControl._control._zoomControl._fitButton._clickDelegate遍历树,但我不知道如何解雇该委托。
有人在VisioWebAccess.aspx
页面中实现了“自动缩放以适应”功能吗?
答案 0 :(得分:0)
请参阅sharepoint.stackexchange.com处的答案 - 缩放和定位保存在文档中,因此请将其设置在那里。我无法使用javascript控制缩放。
答案 1 :(得分:0)
如果您按照getZoom documentation上的示例,即向“diagramComplete”添加处理程序,您可以获得对活动页面的有效引用... 即。
function zoomVWAControl()
{
vwaControl= new Vwa.VwaControl("WebPartWPQ2");
vwaControl.addHandler("diagramcomplete", onDiagramComplete);
}
function onDiagramComplete()
{
try{
vwaPage = vwaControl.getActivePage();
var zoomLevel = vwaPage.getZoom();
vwaPage.setZoom(Number(200));
}
catch(err){
alert(err);
}
}