跳转到 URL 不起作用
-
20-09-2019 - |
题
我有一份包含 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 函数中进行一些尝试和错误,很抱歉无法更准确地帮助您。还可以尝试在第二个浏览器中进行测试(如果尚未测试),看看这是否是某些特定于浏览器的行为。