0

js函数导入有问题。例如,我正在使用 gmaps.js。我在页面中添加了这个库。我有 main.js 文件并用这种方式调用这个脚本

var map = new GMaps({
    el: '#map',
    lat: 40.783435,
    lng: -73.966249
});
map.addMarker({
    lat: 40.784076,
    lng: -73.966332,
    icon: "img/mapicon.png",
    title: 'Marker with InfoWindow',
    infoWindow: {
        content: '<p>Central Park</p>'
    }
});

在contact.html 中有一个#map div,但services.html 没有。其他 js 函数在 services.html 上不起作用。我正在使用很多库,只是调用contact.html页面对我来说不是解决方案。我怎样才能解决这个问题?

4

2 回答 2

1

你应该看看 AMD 的定义,实现这种方法的库之一是 require.js

你可以从这里开始阅读: http ://requirejs.org/docs/whyamd.html

在谷歌上给这两个镜头。

再说一次,如果你遇到循环依赖,你的实现可能有问题。

我会很乐意帮助其他任何事情。

于 2013-11-10T20:48:06.467 回答
0

如果您尝试先检查是否#map存在怎么办?如果存在,则初始化 GMaps :)

// Will return true when the element #map exists
if($("#map").length) {
    var map = new GMaps({
        el: '#map',
        lat: 40.783435,
        lng: -73.966249
    });
    map.addMarker({
        lat: 40.784076,
        lng: -73.966332,
        icon: "img/mapicon.png",
        title: 'Marker with InfoWindow',
        infoWindow: {
            content: '<p>Central Park</p>'
        }
    });
}
于 2013-11-10T20:48:49.030 回答