【问题标题】:include/execute JS before emailing blade template在通过电子邮件发送刀片模板之前包含/执行 JS
【发布时间】:2018-07-09 11:37:37
【问题描述】:

是否可以在刀片模板中包含和执行(在发送电子邮件之前)javascript 代码?

问题是我需要通过电子邮件向用户发送一些图像,这些图像是由 3rd 方程序动态生成的。我通过 AJAX 请求得到了它们。所以我现在所拥有的是这样的:

//report.js

$(document).ready(function() {
    //Retrieving the GPS data
    $.getJSON(url + user_id, function (response)  {
        //...get and shows the images on <tbody>
    });
});
@extends('template.user_theme.template')
@section('user_content')


    <center>

        <h3>
            <b>Report</b>
        </h3>

        <div id="data">
            <table id="images_table">
                <tbody>

                </tbody>
            </table>
        </div>

    </center>

@endsection

<script src="{{ asset(".../report.js") }}" type="text/javascript"></script>

但这不起作用。 电子邮件到达用户时没有图像,这意味着 JS 从未执行过?还是有其他问题?

有可能实现这样的目标吗? 还有其他方法吗?

【问题讨论】:

  • 不,这不可能。您必须使用后端获取图像并将它们直接包含在模板中。

标签: javascript ajax laravel laravel-5.4


【解决方案1】:

JavaScript 由客户端(即浏览器)执行,所以不,我认为不可能。

但正如您在 JavaScript 中所做的那样,您可以从 PHP 调用该服务并将图像信息传递给刀片模板。

【讨论】:

  • 或者是否有机会附加(在 html 模板文件中)JS url,以便它可以在客户端浏览器上执行?
  • 大多数电子邮件客户端默认不允许执行 JavaScript。所以我建议你寻找其他方式。
  • 我已经这样做了...我不得不将所有负载转移到服务器上,但它确实有效...谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-21
  • 2015-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-09
相关资源
最近更新 更多