javascript - iOS safari 上带有模板字符串文字的语法错误

标签 javascript string safari ecmascript-6 babeljs

我在使用模板字符串文字时遇到问题。该代码在 Chrome、Firefox、Edge 上完美运行,但无法在 Safari 上执行。

enter image description here

这是我用来插入外部 HTML 模板的插入字符串扩展。

enter image description here

这是babel编译后无法正确执行的代码

enter image description here

是否有任何有效的 polyfill 可以解决 Safari 浏览器上的这个错误?或者重写此插入字符串扩展以使用普通旧字符串文字的方法?

最佳答案

解决了。

显然,当使用 html-loader 从 html 模板导入时,粗箭头函数 song => { ... } 没有被转译。将其更改为良好的旧 function(song) { return... } 样式语法并且它有效。丑陋但工作。希望也能找到一种从 html 模板转换 es6 的方法。

<!--${songs.map(song => `-->
${songs.map(function(song) { return `
<div data-menuanchor="${song.anchor}" class="node song">
    <div class="label">${song.number}</div>
    <div class="timer"></div>
    <div class="line">
        <div class="lineProgress"></div>
        <div class="lineDefault"></div>
    </div>
    <a href="#${song.anchor}" class="link">
        <div class="linkDefault"></div>
        <div class="linkHover"></div>
        <div class="linkBass rythm-medium"></div>
    </a>
    <div class="actions">
        <div class="playBtn"><i class="icon bg-play"></i></div>
        <div class="pauseBtn"><i class="icon bg-pause"></i></div>
    </div>
</div>
`}).join('')}
<!--`).join('')}-->

关于javascript - iOS safari 上带有模板字符串文字的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44174281/

相关文章:

作为参数传递后字符指针损坏

javascript - PDF在Safari中隐藏Jquery Modal

c# - Safari 浏览器中未显示 MP4 视频的字幕

javascript - 显示加载图标,然后重定向到新页面

javascript - 无法使用从一个路由到另一个路由的 react 引导表重定向到不同的页面

string - 当使用Delphi XE-8和FIREBIRD本地数据库执行“SELECT * FROM…”时发生异常

javascript - HTML5 的 Canvas + Javascript 代码在 iOS 上不起作用

javascript - 在某些 PHP 条件后发送 AJAX 调用

javascript - 将变量添加到谷歌应用脚​​本上的 anchor 标记

java - 为什么这个程序只给出前两个单词作为输出? s1[] 中存储了什么数据?