【发布时间】:2015-02-10 23:06:46
【问题描述】:
我正在以异步方式加载谷歌地图,
@JSExport("sample")
object Sample {
def loadScript = {
val script = document.createElement("script").asInstanceOf[HTMLScriptElement]
script.`type` = "text/javascript"
//case 1
script.src = "https://maps.googleapis.com/maps/api/js?v=3.exp&callback=sample().initialize"
// case 2
script.src = "https://maps.googleapis.com/maps/api/js?v=3.exp&callback=sample.initialize"
document.body.appendChild(script)
}
@JSExport
def initialize() :Unit = {
println(" map loaded successfully")
}
}
如果 1 google 发送响应 - 400(错误请求)
如果 2 我得到未定义的函数 (window.sample.initialize())
我可以定义一个 javascript 函数,在该函数中我可以调用 sample().initialize() ,但是有什么更简洁的方法吗?
【问题讨论】:
-
恕我直言,案例 1 应该是正确的。您确定这不仅仅是 URL 编码问题吗?
-
没有 URL 编码问题,:host:maps.googleapis.com :method:GET :path:/maps/api/js?v=3.exp&callback=sample().initialize
-
感谢您提出这个问题。仅供参考,我为此提交了一个问题:github.com/scala-js/scala-js/issues/1381
标签: scala.js