Dela via


Skapa en start-URL

Med en start-URL kan du öppna en ny webbläsarflik eller ett nytt fönster genom att lägga till API-anropet host.launchUrl() i koden för ett visuellt Power BI-objekt.

Kommentar

Metoden host.launchUrl() introducerades i Visuals API 1.9.0.

Exempel

IVisualHost Importera gränssnittet och spara länken till host objektet i konstruktorn för det visuella objektet.

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;
        // ...
    }

    // ...
}

Förbrukning

Använd API-anropet host.launchUrl() och skicka mål-URL:en som ett strängargument:

this.host.launchUrl('https://some.link.net');

Bästa praxis

  • Vanligtvis är det bäst att bara öppna en länk som svar på en användares explicita åtgärd. Gör det enkelt för användaren att förstå att om du klickar på länken eller knappen öppnas en ny flik. Det kan vara förvirrande eller frustrerande för användaren om ett launchUrl() anrop utlöses utan en användares åtgärd eller som en bieffekt av en annan åtgärd.

  • Om länken inte är nödvändig för att det visuella objektet ska fungera korrekt rekommenderar vi att du ger rapportens författare ett sätt att inaktivera och dölja länken. Särskilda Power BI-användningsfall, till exempel att bädda in en rapport i ett program från tredje part eller publicera den på webben, kan kräva att länken inaktiveras och döljs.

  • Undvik att utlösa ett launchUrl() anrop inifrån en loop, det visuella objektets update funktion eller någon annan ofta återkommande kod.

Ett steg för steg-exempel

Lägg till följande rader i det visuella objektets constructor funktion:

    this.helpLinkElement = this.createHelpLinkElement();
    options.element.appendChild(this.helpLinkElement);

Lägg till en privat funktion som skapar och kopplar fästpunktselementet:

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

Definiera formatmallen för länkelementet med en post i filen 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;
    }
}

Lägga till en växlingsmekanism

Om du vill lägga till en växlingsmekanism måste du lägga till ett statiskt objekt så att rapportens författare kan ändra synligheten för länkelementet. (Standardvärdet är dolt.) Mer information finns i självstudiekursen för statiska objekt.

Lägg till det showHelpLink booleska statiska objektet i capabilities.json-filens objektpost:

"objects": {
    "generalView": {
            "displayName": "General View",
            "properties":
                "showHelpLink": {
                    "displayName": "Show Help Button",
                    "type": {
                        "bool": true
                    }
                }
            }
        }
    }

Skärmbild av fönstret Visualiseringar i Power BI, som visar det nya alternativet Aktivera hjälpknapp.

Lägg till följande rader i det visuella objektets update funktion:

if (settings.generalView.showHelpLink) {
    this.helpLinkElement.classList.remove("hidden");
} else {
    this.helpLinkElement.classList.add("hidden");
}

Den dolda klassen definieras i filen visual.less för att styra visningen av elementet.

Beaktanden och begränsningar

  • Använd endast absoluta sökvägar, inte relativa sökvägar. Använd till exempel en absolut sökväg, till exempel https://some.link.net/subfolder/page.html. Den relativa sökvägen/page.html öppnas inte.

  • För närvarande stöds endast HTTP- och HTTPS-protokoll . Undvik FTP, MAILTO och andra protokoll.