So fügen Sie externe js in Magento 2 hinzu

10

Ich möchte den folgenden Link in das Head-Tag einfügen, aber es wird ein 404-Fehler zurückgegeben. Kann mir jemand dabei helfen?

<script  type="text/javascript"  src="https://www.google.com/recaptcha/api.js"></script>
Sivakumar K.
quelle
Folgen Sie einfach diesem Artikel. inchoo.net/magento-2/… Diese Jungs sind großartig :)
Ashvini Marwal
Ich brauche durch Layout-Datei. Bitte beachten Sie, dass es ein Link und eine Nicht-Datei ist
Sivakumar K

Antworten:

25

Ich würde empfehlen, die Skriptmethode anstelle der Textmethode zu verwenden. Für andere Entwickler ist es einfacher zu verstehen, es ist weniger Code und es entspricht den offiziellen Anweisungen von Magento.

Verwenden Sie dazu dasselbe Skript oder Link-XML wie gewohnt, jedoch einschließlich src_type="url". Wie in den offiziellen Dokumenten angegeben

<?xml version="1.0" ?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <script src="https://www.google.com/recaptcha/api.js" src_type="url"/>
    </head>
</page>

Ergebnisse

Geben Sie hier die Bildbeschreibung ein

Ben Crook
quelle
Haben Sie nicht wissen Sie src_type auf dem Skript - Tag , bis jetzt :) angeben können
Smartie
Wie füge ich ein Skript mit einem Parameter hinzu? <script src = "// maps.googleapis.com/maps/api/js?key=APIKEY&libraries=places" src_type = "url" />
Sunny Khatri
& nicht akzeptieren mit Skript-Tag in Magento 2
Sunny Khatri
4

Wenn Sie dies global hinzufügen, ist es am einfachsten, dies über den Administrationsbereich zu tun.

Gehen Sie zu Stores> Configuration> Design und fügen Sie auf der Registerkarte HTML Head verschiedene Skripte hinzu.

Sie können es jedoch mit XML hinzufügen. Wenn Sie beispielsweise nur möchten, dass es Ihrer Homepage hinzugefügt wird, fügen Sie Folgendes in die Layoutdateiansicht / frontend / layout / cms_index_index.xml in Ihrem benutzerdefinierten Modul ein.

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <script src="https://www.google.com/recaptcha/api.js" src_type="url"/>
    </head>
</page>

Als Randnotiz, wenn Sie vermeiden können, das js in den Kopf zu setzen, würde ich, da dies in diesem Fall das Blockieren rendern würde, bis das js vollständig heruntergeladen wurde.

Smartie
quelle
Ich brauche nur in einer benutzerdefinierten Seite.
Sivakumar K
Diese Art von Informationen ist zu Beginn nützlich :) Ich werde meinen Beitrag aktualisieren.
Smartie
Das Aktionstag wurde abgeschrieben. Weitere Informationen finden Sie unter devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/… .
Ben Crook
Wie füge ich ein Skript mit einem Parameter hinzu? <script src = "// maps.googleapis.com/maps/api/js?key=APIKEY&libraries=places" src_type = "url" />
Sunny Khatri