我有一份包含 Word 文档链接的报告。我在文本框上创建了一个“跳转到 URL”的操作,并填充了 URL。

我有一个显示报表的 PerformancePoint 仪表板,该报表位于使用 SharePoint 集成报表的报表库中。

该链接无法正常工作。遵循以下建议 这家伙 我用 JavaScript 包围了我的链接,以便在新窗口中打开。

除了最终结果之外,这在任何地方都有效。该链接适用于 BIDS、仪表板设计器和报告库。它无法在部署到 SharePoint 站点的仪表板中工作。有任何想法吗?

编辑:这个 HTML 链接:

=First(Fields!Link.Value, "MyUrl")  

在渲染的报告中给了我这个:

<TD style="WIDTH:53.98mm;word-wrap:break-word;HEIGHT:6.35mm;" class="a7">Click Me!</TD>

这个 JavaScript 链接:

="javascript:window.location.href='" & First(Fields!Link.Value, "MyUrl") & "';"

在渲染的报告中给了我这个:

<a tabindex="40" href="javascript:window.location.href='http://example.com/sites/some/subsite/DocumentLibrary/Folder/MyDocument.doc';" style="color:Blue" TARGET="_top">Click Me!</a>

当您单击它时,它不会执行任何操作。

有帮助吗?

解决方案 2

事实证明,存在两个问题。

我第一次尝试使用渲染链接 https://example.com/...不起作用,因为 Reporting Services 2005 拒绝链接到 https 网站。(此信息无来源,仅通过实验确定)

我第二次尝试在链接中添加 JavaScript 失败了,因为 PerformancePoint 2007 仪表板不执行报表中的 JavaScript。(此信息无来源,仅通过实验确定)

解决方案是回到直接的 HTML 解决方案,并使用 http。这将被重定向到 https 并加载文档。如果您的环境没有自动重定向 http --> https,则此解决方案可能不起作用。

我在原来的问题中没有提到 https,因为我没有意识到这会产生影响。

其他提示

我不熟悉 Performancepoint,但是您编写 javascript 的方式似乎简化了一点?我这么问是因为,完美的链接不起作用的唯一方法是页面中的链接返回 false。尝试将整个更改 URL 移至一个函数中,例如:

<script type='text/javascript'>
function goTo(url) {
   window.event.stopPropagation(); // cancelBubble() in IE
   location.href = url;
   return false;
}
</script>

链接为:

="javascript:goTo('" & First(Fields!Link.Value, "MyUrl") & "')"

并在 goTo 函数中进行一些尝试和错误,很抱歉无法更准确地帮助您。还可以尝试在第二个浏览器中进行测试(如果尚未测试),看看这是否是某些特定于浏览器的行为。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top