将jQuery变量传递给javascript
我在jquery和javascript互操作性方面面临一些问题 我有一段代码试图从画布创建PNG并将其写入变量将jQuery变量传递给javascript,javascript,jquery,variables,global-variables,undefined,Javascript,Jquery,Variables,Global Variables,Undefined,我在jquery和javascript互操作性方面面临一些问题 我有一段代码试图从画布创建PNG并将其写入变量 jQuery.getScript('https://api.tiles.mapbox.com/mapbox-gl-js/v0.44.1/mapbox-gl.js', function() { //script is loaded and executed put your dependent JS here mapboxgl.accessToken = '<ACC
jQuery.getScript('https://api.tiles.mapbox.com/mapbox-gl-js/v0.44.1/mapbox-gl.js', function() {
//script is loaded and executed put your dependent JS here
mapboxgl.accessToken = '<ACCESS_TOKEN>';
var mapcanvas = new mapboxgl.Map({
container: 'mapimg',
style: 'mapbox://styles/mapbox/streets-v9',
lon: center[1].toFixed(6),
lat: center[0].toFixed(6),
zoom: zoominfo.zoom,
preserveDrawingBuffer: true
});
var getbasemapimg = mapcanvas.getCanvas().toDataURL('image/png');
alert("Inside jQuery: " + getbasemapimg);
});
jQuery.getScript('https://api.tiles.mapbox.com/mapbox-gl-js/v0.44.1/mapbox-gl.js,函数(){
//脚本已加载并执行,请将依赖的JS放在此处
mapboxgl.accessToken='';
var mapcanvas=new mapboxgl.Map({
容器:“mapimg”,
风格:'mapbox://styles/mapbox/streets-v9',
lon:中心[1]。固定(6),
横向:中心[0]。toFixed(6),
zoom:zoominfo.zoom,
preserveDrawingBuffer:true
});
var getbasemapimg=mapcanvas.getCanvas().toDataURL('image/png');
警报(“jQuery内部:+getbasemapimg);
});
这在上面的jQuery部分中运行良好(警报以base64字符串格式返回getbasemapimg
),但在脚本中,我尝试调用getbasemapimg
变量,这次它说它未定义:getbasemapimg未定义
我必须在jQuery中总结第一部分,因为它调用了一个外部javascript源代码,我可以找出如何在不使用jQuery的情况下让它工作
我想我需要全局设置值
getbasemapimg
,但无法确定如何设置。您需要在范围内访问mapboxgl。在通过Ajax请求库之后,您的代码将作为回调调用。您可以在自己的代码之前通过标记将该库添加到index.html中,作为问题的简单解决方案 在哪里调用变量,请共享该代码。您可以将变量设置为全局变量,也可以将其作为函数参数传递,因为函数参数scope与javascript中的声明位置相关。要使其成为全局范围,请将其置于最顶层。请参阅以了解更多信息。谢谢,在mapbox实例化之前,我设法在HMTL中加载了脚本