Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Adres URL uruchamiania umożliwia otwarcie nowej karty lub okna przeglądarki przez dodanie host.launchUrl() wywołania interfejsu API do kodu wizualizacji usługi Power BI.
Uwaga
Metoda została wprowadzona host.launchUrl() w interfejsie API wizualizacji w wersji 1.9.0.
Przykład
Zaimportuj IVisualHost interfejs i zapisz link do host obiektu w konstruktorze wizualizacji.
import powerbi from "powerbi-visuals-api";
import IVisualHost = powerbi.extensibility.visual.IVisualHost;
export class Visual implements IVisual {
private host: IVisualHost;
// ...
constructor(options: VisualConstructorOptions) {
// ...
this.host = options.host;
// ...
}
// ...
}
Użycie
Użyj wywołania interfejsu host.launchUrl() API i przekaż docelowy adres URL jako argument ciągu:
this.host.launchUrl('https://some.link.net');
Najlepsze rozwiązania
Zazwyczaj najlepiej jest otworzyć link tylko jako odpowiedź na jawną akcję użytkownika. Ułatw użytkownikowi zrozumienie, że kliknięcie linku lub przycisku powoduje otwarcie nowej karty. Może to być mylące lub frustrujące dla użytkownika, jeśli
launchUrl()wywołanie wyzwala bez akcji użytkownika lub jako efekt uboczny innej akcji.Jeśli link nie jest niezbędny do prawidłowego działania wizualizacji, zalecamy nadanie autorowi raportu sposobu wyłączenia i ukrycia linku. Specjalne przypadki użycia usługi Power BI, takie jak osadzanie raportu w aplikacji innej firmy lub publikowanie go w Internecie, może wymagać wyłączenia i ukrycia linku.
Unikaj wyzwalania wywołania
launchUrl()wewnątrz pętli, funkcji wizualizacjiupdatelub innego często cyklicznego kodu.
Przykład krok po kroku
Dodawanie elementu uruchamiania linków
Dodaj następujące wiersze do funkcji wizualizacji constructor :
this.helpLinkElement = this.createHelpLinkElement();
options.element.appendChild(this.helpLinkElement);
Dodaj funkcję prywatną, która tworzy i dołącza element kotwicy:
private createHelpLinkElement(): Element {
let linkElement = document.createElement("a");
linkElement.textContent = "?";
linkElement.setAttribute("title", "Open documentation");
linkElement.setAttribute("class", "helpLink");
linkElement.addEventListener("click", () => {
this.host.launchUrl("https://learn.microsoft.com/power-bi/developer/visuals/custom-visual-develop-tutorial");
});
return linkElement;
};
Zdefiniuj styl elementu linku z wpisem w pliku visual.less :
.helpLink {
position: absolute;
top: 0px;
right: 12px;
display: block;
width: 20px;
height: 20px;
border: 2px solid #80B0E0;
border-radius: 20px;
color: #80B0E0;
text-align: center;
font-size: 16px;
line-height: 20px;
background-color: #FFFFFF;
transition: all 900ms ease;
&:hover {
background-color: #DDEEFF;
color: #5080B0;
border-color: #5080B0;
transition: all 250ms ease;
}
&.hidden {
display: none;
}
}
Dodawanie mechanizmu przełączania
Aby dodać mechanizm przełączania, należy dodać obiekt statyczny, aby autor raportu mógł przełączać widoczność elementu linku. (Wartość domyślna jest ustawiona na ukrytą). Aby uzyskać więcej informacji, zobacz samouczek dotyczący obiektu statycznego.
showHelpLink Dodaj obiekt statyczny warunkowy do wpisu obiektów pliku capabilities.json:
"objects": {
"generalView": {
"displayName": "General View",
"properties":
"showHelpLink": {
"displayName": "Show Help Button",
"type": {
"bool": true
}
}
}
}
}
Dodaj następujące wiersze w funkcji wizualizacji update :
if (settings.generalView.showHelpLink) {
this.helpLinkElement.classList.remove("hidden");
} else {
this.helpLinkElement.classList.add("hidden");
}
Klasa ukryta jest zdefiniowana w pliku visual.less w celu kontrolowania wyświetlania elementu.
Rozważania i ograniczenia
Używaj tylko ścieżek bezwzględnych, a nie ścieżek względnych. Na przykład użyj ścieżki bezwzględnej, takiej jak
https://some.link.net/subfolder/page.html. Ścieżka/page.htmlwzględna nie zostanie otwarta.Obecnie obsługiwane są tylko protokoły HTTP i HTTPS . Unikaj protokołów FTP, MAILTO i innych.