Pergunta

Eu tenho um relatório que contém um link para um documento do Word. Eu criei uma ação na caixa de texto que é saltada para o URL, com o URL povoado.

Eu tenho um painel de desempenho que exibe o relatório, que está em uma biblioteca de relatórios usando relatórios integrados do SharePoint.

O link não está funcionando corretamente. Seguindo as recomendações de esse cara Eu cercei meu link com o JavaScript para abrir em uma nova janela.

Isso funciona em todos os lugares, exceto para o resultado final. O link funciona com lances, designer de painel e biblioteca de relatórios. Ele não funciona de dentro do painel implantado no site do SharePoint. Alguma ideia?

Editar: Este link HTML:

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

me dá isso no relatório renderizado:

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

Este link JavaScript:

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

me dá isso no relatório renderizado:

<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>

O que não faz nada quando você clica nele.

Foi útil?

Solução 2

Acontece que houve dois problemas acontecendo.

Minha primeira tentativa de renderizar um link usando https://example.com/... Não funcionou porque os serviços de relatórios 2005 se recusam a vincular -se aos sites HTTPS. (Nenhuma fonte para esta informação, apenas determinada através da experimentação)

Minha segunda tentativa de colocar o JavaScript em torno do link falhou porque os painéis de desempenho 2007 não executam o JavaScript de um relatório. (Nenhuma fonte para esta informação, apenas determinada através da experimentação)

A solução foi voltar a uma solução HTML direta e usar o HTTP. Isso é redirecionado para HTTPS e o documento carrega. Esta solução pode não funcionar se o seu ambiente não redirecionar automaticamente o HTTP -> https.

Não mencionei os HTTPs na minha pergunta original porque não percebi que isso faria diferença.

Outras dicas

Não estou familiarizado com o PerformancePoint, mas a maneira como você escreve o JavaScript parece que você simplificou um pouco? Estou perguntando porque a única maneira de que o link perfeitamente fino não funcionaria seria se a página tivesse um retorno falso para os links. Tente mover todo o alteração do URL para uma função, como:

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

com o link ser:

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

E faça algumas tentativas e erros dentro da função Goto, desculpe não poder ajudá -lo com mais precisão. Tente também testar em um segundo navegador (se você ainda não está) para ver se esse é um comportamento específico do navegador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top