1

这个问题也在sharepoint.stackexchange.com上,但未能获得意见或回复,所以我在这里发布。

我正在尝试设置通过 Visio Web 服务显示的 Visio 文档的缩放级别。

http://mysite/_layouts/VisioWebAccess/VisioWebAccess.aspx?id=/Shared%20Documents/MyDiagram.vdw

我想使用通过按下工具栏右侧的按钮来实现的“适合页面”缩放级别。我的第一个想法是通过 javascript 单击按钮,但没有立即成功,还偶然发现了有关 Visio Services JavaScript API 中的对象Vwa.VwaControl.getActivePage 方法Vwa.Page.setZoom 方法的 MSDN 文章。

我可以成功构造一个VwaControl对象

vwaControl = new Vwa.VwaControl("ctl00_PlaceHolderMain_VisioWebAccess");

但是null当我调用getActivePage()这个控件时我得到了。

我尝试VwaControl使用页面中的其他 ID 构建其他 ID,但它们都不是有效的 - 我收到类似“ID {0} 的 VwaControl 不存在”的错误。我尝试从 vwaControl._control._zoomControl._fitButton._clickDelegate 遍历树,但我不知道如何触发该委托。

有没有人在页面中实现了“自动缩放以适应”功能VisioWebAccess.aspx

4

2 回答 2

0

请参阅sharepoint.stackexchange.com上的答案- 缩放和定位保存在文档中,因此请将其设置在那里。我无法使用 javascript 控制缩放。

于 2012-06-27T04:34:55.060 回答
0

如果您遵循getZoom 文档中的示例,即向“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);
    }
}
于 2014-08-05T01:54:54.997 回答