如何在ShopifyApp.flashError()中出现多行错误

时间:2017-04-05 16:48:11

标签: javascript shopify

Shopify在其Embedded App SDK中有一个非常有用的method用于显示小红色浮动模式的错误:ShopifyApp.flashError("Your error");

我的问题是我不能在其中出现多行错误。我曾尝试\n/n/r\r<br />&#013来获得newline。没有工作!有任何想法吗?

2 个答案:

答案 0 :(得分:1)

看起来ShopifyApp.flashError调用postMessage:

wx.PyCommandEvent(wx.EVT_BUTTON.typeId, wx.ID_CLOSE)

因此,如果您能找到正在侦听发送到“Shopify.API.flash.error”的消息的逻辑位,您可以找到呈现该消息的代码。但是,考虑到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 }) } 电话,我怀疑你运气不足以传递一个足够特殊的字符来调用换行符。

答案 1 :(得分:0)

否,目前尚无方法。如果您查看Shopify页面源代码,则可以找到用于呈现警报的模板:

<script type="text/template" data-template-name="alert">
    ...
    <p>[%= message %]</p>
    ...
</script>

因此,您的邮件被放入了普通段落中,没有像white-space: pre-line这样的花哨。而且由于不允许插入模板的文本包含HTML标签,因此您也不能使用<br>标签。