2017-04-05 1 views
0

Shopify hat eine sehr nützliche method in seiner Embedded App SDK für Fehler auf einem kleinen roten schwimmenden modalen zeigt haben: ShopifyApp.flashError("Your error");Wie kann ich mehrzeilige Fehler in ShopifyApp.flashError()

Mein Problem ist, dass ich nicht mehrzeiligen Fehler in ihm haben kann . Ich habe versucht \n, /n, /r, \r, <br /> und &#013 für newline zu haben. Keine funktioniert! Irgendwelche Ideen?

+0

Haben Sie in den Quellcode für die Methode 'flashError' geschaut? Die Antwort könnte da sein. – Forty3

+0

Danke für Ihren Vorschlag @ Forty3. Aber ich glaube, wir haben keinen Zugang zum Shopify-Quellcode! – zahra

Antwort

1

Sieht aus wie ShopifyApp.flashError einen Anruf macht postmessage:

e.postMessage = function(e, t) { 
    var r; 
    return null == t && (t = {}), r = JSON.stringify({ 
     message: e, 
     data: t 
    }), 
    n("client sent " + r + " to " + this.shopOrigin), 
    window.parent.postMessage(r, this.shopOrigin), 
    null != t ? t.callbackId : void 0 
}, e.flashNotice = function(e) { 
    return this.postMessage("Shopify.API.flash.notice", { 
    message: e 
    }) 
}, e.flashError = function(e) { 
    return this.postMessage("Shopify.API.flash.error", { 
    message: e 
    }) 
} 

Also, wenn Sie das Bit der Logik finden, die auf „Shopify.API.flash.error“ für Nachrichten gesendet wird, hören Sie können finde den Code, der die Nachricht rendert. Aber angesichts des Anrufs r = JSON.stringify({ message: e, data: t}) vermute ich, dass Sie kein Glück haben, wenn Sie ein Zeichen mit genügend Sonderzeichen übergeben, um eine neue Zeile aufzurufen.

Verwandte Themen