javascript - PHP : Preventing multiple javascript inclusions

标签 javascript php google-maps include

您好,我在包含 javascript(特别是 Google map API)时遇到问题。

例如,我有一个包含该库的页面:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places,visualization"></script>

//some page contents

$this->widget('MyWidgetThatIncludesGoogleAPI',array(
..
));

当我调用我的小部件(其中还包括 google map api)时,即使我最初没有在此页面中包含 map api,也会出现问题。调用该小部件两次效果相同。

我收到一条错误消息,提示 Google Maps API 已加载多次,是否有编程方式来处理 js 的重复包含?

最佳答案

您可以使用全局变量来跟踪它是否已被包含。然后,您可以创建一个函数来包含该脚本(如果尚未包含该脚本)。

$includedGoogleMaps = false;
function includeGoogleMaps() {
    global $includedGoogleMaps;
    if (!includedGoogleMaps) {
        echo '<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places,visualization"></script>';
        $includeGoogleMaps = true;
    }
}

该功能并不是完全必要的,但它使一切变得更加清晰。

关于javascript - PHP : Preventing multiple javascript inclusions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26351488/

相关文章:

javascript - 在javascript中通过正则表达式分割线?

javascript - 我得到每个按钮的相同值

php - 为什么要使用 num_rows

javascript - Google Map上很多点的边界

android - 管理 MapView 的缓存

android - 如何为谷歌地图上的标记设置动画?

javascript - 如何防止重复触发按键 - JavaScript/jQuery

javascript - 从嵌套对象的属性生成代码字符串

php - 我用日期选择器选择的日期输入没有插入到我的数据库中

php - MYSQL 需要建议将存储在 EST 时区数据库中的日期迁移到 UTC 时区