【发布时间】:2017-09-17 16:33:30
【问题描述】:
app/assets/javascripts/geolocation.js 中有一些未加载的 javascript。检查控制台的结果绝对没有发生任何事情。有什么想法我可能做错了吗?
这就是我正在尝试的:
地理位置.js
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
app/views/search/search.html.erb
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<% content_for :javascript_includes do %>
<%= javascript_include_tag "geolocation.js" %>
<% end %>
application.html.erb
<%= javascript_include_tag 'application', "data-turbolinks-track" => true %>
应用程序.js
//= require rails-ujs
//=require jquery
//=require jquery_ujs
//=require jquery.turbolinks
//=require turbolinks-compatibility
//=require turbolinks
//= require underscore
//= require gmaps/google
//= require_tree .
【问题讨论】:
-
x可能还不存在。将该文件的全部内容包装在 DOMContentLoaded 处理程序中。 -
不需要
content_for的收益吗? -
感谢@Sergio Tulentsev 提供的信息...我一直在尝试使用 DOMContentLoaded 处理程序来包装 javascript,但我无法做到。
标签: javascript ruby-on-rails ruby