Вопрос

У меня есть отчет, который содержит ссылку на документ Word.Я создал Действие в текстовом поле, которое является переходом к URL-адресу, с заполненным URL-адресом.

У меня есть панель мониторинга PerformancePoint, отображающая отчет, который находится в библиотеке отчетов с использованием SharePoint Integrated reports.

Ссылка работает некорректно.Следуя рекомендациям этот парень Я окружил свою ссылку 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

Оказывается, что имели место две проблемы.

Моя первая попытка рендеринга ссылки с использованием 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