在 Wordpress 网站上,我在文件中连接谷歌地图,functions.php如下所示:
wp_enqueue_script('google-maps', 'https://maps.googleapis.com/maps/api/js?key=APIkey&callback=initMap', '', '',true);
在地图页面上,一切正常,但在其他页面上,控制台显示错误:
Uncaught TypeError: Cannot read property 'firstChild' of js?key=APIKey&callback=initMap&ver=4.7.5:88 Uncaught TypeError: Cannot read property 'firstChild' of null
我不使用地图插件。
如何修复此类错误或如何正确连接谷歌地图?
正确连接。问题出在 initMap 函数代码中。它会在所有页面上调用,并从除地图页面外任何地方都不存在的某个 DOM 元素中查找 firstChild。检查此元素是否存在,如果未找到,则不初始化地图。
在这种情况下,该函数被调用两次 - 一次是通过链接中的回调,第二次是直接在代码中。因此错误。如果有回调,就不需要对函数进行第二次初始化。