代码之家  ›  专栏  ›  技术社区  ›  Nathan DeWitt

跳转到URL不起作用

  •  1
  • Nathan DeWitt  · 技术社区  · 15 年前

    我有一份报告,其中包含指向Word文档的链接。我已经在跳到url的文本框上创建了一个操作,并填充了url。

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

    链接工作不正常。遵循的建议 this guy 我用javascript包围了我的链接,在一个新窗口中打开。

    除最终结果外,这在任何地方都有效。链接可以从出价、仪表板设计器和报表库中工作。它不能从部署到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 回复  |  直到 15 年前
        1
  •  1
  •   Francisco Aquino    15 年前

    我不熟悉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函数中做一些尝试和错误,抱歉不能更精确地帮助您。尝试在第二个浏览器中进行测试(如果您还没有测试),以查看这是否是某些特定于浏览器的行为。

        2
  •  1
  •   Nathan DeWitt    15 年前

    结果发现有两个问题。

    我第一次尝试使用 https://example.com/ ……由于ReportingServices2005拒绝链接到HTTPS网站,因此无法工作。(此信息没有来源,仅通过实验确定)

    我第二次尝试在链接周围放置javascript失败,因为PerformancePoint 2007仪表板不从报表中执行javascript。(此信息没有来源,仅通过实验确定)

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

    我在最初的问题中没有提到https,因为我没有意识到这会有什么不同。