首页 > 解决方案 > 如何有条件地加载和运行 javascript 文件

问题描述

我有一个用例,我需要根据浏览器类型在我的 html 文件中加载和执行不同的 js 文件。

如果浏览器是 safari 我需要加载 <script type="text/javascript" src="./javascripts/applepay.js">,如果浏览器是其他我需要加载两个 js 文件<script type="text/javascript" src="./javascripts/googlepay.js"></script><script async src="https://pay.google.com/gp/p/js/pay.js" onload="onGooglePayLoaded()"></script>.

您能否让我知道如何做到这一点?我尝试了其他帖子中提到的几个解决方案,但对我没有用。任何代码片段都会非常有帮助。

标签: javascript

解决方案


我假设这是在加载主 HTML 时发生的。然后,您可以使用document.write()为适当的脚本插入 HTML。

<script>
if (is_safari()) {
    document.write('<script type="text/javascript" src="./javascripts/applepay.js"></' + 'script>');
} else {
    document.write('<script type="text/javascript" src="./javascripts/googlepay.js"><' + '/script>');
    document.write('<script async src="https://pay.google.com/gp/p/js/pay.js" onload="onGooglePayLoaded()"><' + '/script>');
}
</script>

有关实现该功能的多种方法,请参阅检测 Safari 浏览器。is_safari()


推荐阅读