Tag: JavaScript的

重绘元素会在Android浏览器中忽略user-scalable = 0。 为什么?

这是元标记 问题 – 我想通过隐藏和取消隐藏容器 “改变方向时强制重绘(解决另一个问题)。 然而,一旦重绘,Android浏览器现在允许我放大,即使我已设置user-scalable=0 。 为什么是这样? 我的猜测是Android通过设置user-scalable=1改变了重绘的元标记。 但事实并非如此,因为您可以在下面的函数redrawOrientation()中看到,我将元标记更改回默认值。 我只是通过重新绘制横向来实现这一点。 这对我来说似乎是个错误。 任何人都可以提出这个问题的原因吗? 使用Javascript function redrawOrientation() { viewport = document.querySelector(“meta[name=viewport]”); if (Math.abs(window.orientation) === 90) { $(‘#redraw’).hide().show(0); viewport.setAttribute(‘content’, ‘width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0’); alert(“Landscape: maximum-scale=2.0”); } else { //$(‘#redraw’).hide().show(0); viewport.setAttribute(‘content’, ‘width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0’); alert(“Portrait: maximum-scale=1.0”); } } window.onorientationchange = redrawOrientation; HTML

“document.ready()”函数未在Chrome Mobile上启动(android)

我在标签之前调用了jQuery-2.1.4.min.js,但是当我写下这样的东西时: jQuery(document).ready(function() { alert(‘hi, world.’); }); 在我的电脑上它当然是被解雇了,但在十个不同的Android设备上却没有。 这纯粹是HTML / CSS / jQuery呈现的网站(没有手机间隙或任何东西)。 我的目标是让一个按钮在被点击后执行ajax请求,但我甚至无法测试,因为.ready()函数根本没有在移动chrome上触发。 jQuery是从官方CDN提供的,任何帮助都将非常感谢。 尝试了两个: $(function() { alert(‘hi, world.’); }); 和 jQuery(document).ready(function() { alert(‘hi, world.’); }); 一样。 建议我也尝试过: window.onload = function() { if (window.jQuery) { alert(‘jQuery is loaded’); } else { alert(‘jQuery is not loaded’); } } 它警告’jQuery已加载’。 根据jQuery文档,它说:“$(文档).ready()中包含的代码只有在页面文档对象模型(DOM)准备好执行JavaScript代码时才会运行” – 这意味着DOM还没有为JavaScript做好准备要执行的代码? 但是,当我尝试: alert(‘hi world’); 它在移动Chrome上执行。

如何从Android移动设备键盘获取keyCodes?

目前,我在移动设备上遇到问题。 我有一个输入字段,其中只允许按下某些键:例如,只有数字0-9。 它在Web浏览器上运行得很棒。 但是当我在我的Android移动设备中打开它时,它会失败。 我用过keyup和keypress 。 keyup正在运行但我想知道哪个键从移动键盘触发了事件。 我怎么会这样?

Javascript函数 – 将地理位置代码转换为街道地址

我正在寻找一个javascript函数或jquery库来将gelocation代码(例如42.2342,32.23452)转换为街道地址 举些例子。 navigator.geolocation.getCurrentPosition( function(pos) { $(“#lat_field”).val(pos.coords.latitude); $(“#long_field”).val(pos.coords.longitude); } ); 这是一个获取地址数据的google apiurl http://maps.googleapis.com/maps/api/geocode/json?latlng=41.03531125,29.0124264&sensor=false 我想看看“formatted_address”:“HacıHesnaHatun Mh。,PaşaLimanıCd2-26,34674 Istanbul,Türkiye”, navigator.geolocation.getCurrentPosition( function(pos) { $(“#lat_field”).val(pos.coords.latitude); $(“#long_field”).val(pos.coords.longitude); $(“#adress_data”).getaddrfromlatlong(pos.coords.latitude,pos.coords.longitude) } ); 这个function应该如何? “getaddrfromlatlong() 提前致谢

如何在PhoneGap / Android中实现DATE PICKER?

我试图在android中实现日期选择器。 我想让它获取数据并以文本格式显示 function dateTest() { var myNewDate = new Date(); window.plugins.datePicker.show({ date : myNewDate, mode : ‘date’, // date or time or blank for both allowOldDates : true }, function(returnDate) { var newDate = new Date(returnDate); currentField.val(newDate.toString(“dd/MMM/yyyy”)); // This fixes the problem you mention at the bottom of this script with it not working a […]

有了Phonegap,我想录制语音,停止录制,并在Android中播放

HTML文件有4个按钮,可以录制,停止录制语音,播放,停止播放。 代码看起来像这样。 Cordova $(document).ready(function(){ $(“#record”).on(“click”, function(){ alert(“record start”); window.plugins.VoicePlugin.record(function(){alert(“yo”);}, function(){alert(“yol”);}, “voice.3gp”); }); $(“#stoprecord”).on(‘click’, function(){ alert(“record stop”); window.plugins.VoicePlugin.stoprecord(function(){}, function(){}, “voice.3pg”); }); $(“#play”).on(“click”, function(){ alert(“play”); window.plugins.VoicePlugin.play(function(){}, function(){}, “voice.3pg”); }); $(“#stopplay”).on(“click”, function(){ alert(“stop play”); window.plugins.VoicePlugin.stopplay(function(){}, function(){}, “voice.3pg”); }); }); Start Recording Stop Recording Start Playing Stop Playing Android插件部分是 package com.saxoo.voice; import java.io.IOException; import org.apache.cordova.api.Plugin; import org.apache.cordova.api.PluginResult; import org.json.JSONArray; […]

无法从第二个包含的js文件中的第一个包含的javascript文件调用函数

我正在用Apache Cordova制作一个Android应用程序。 一切都适用于默认情况下使用Chrome的Android 6.0,问题出在使用默认Android浏览器的Android 4.2.2(三星Galaxy S4 mini)上。 如果我没弄错的话,那么应用程序在使用cordova编译并安装在Android操作系统上后,在默认的Android浏览器中“启动”。 在默认的Android浏览器中,页面在加载时为空。 但在Chrome中一切正常。 问题出在默认的Android 4.2.2浏览器中。 它不适用于诺基亚1520(使用Windows Phone操作系统)的默认浏览器。 index.html的: 1.js: $(document).ready(function() { $(‘#content’).html(“test3”); // Works fine (i can see test3 on the page). showLogin(); }); 2.js(此文件中没有任何内容可用,我无法在页面上看到test1和test2): $(‘#content’).html(“test1”); function showLogin() { $(‘#content’).html(` test2 `); } 我做了什么#1 我还尝试在setTimeout()调用showLogin() setTimeout() : setTimeout(function() { showLogin(); }, 1000); 我做了什么#2 1.js: $(document).ready(function() { $(‘#content’).html(“test3”); // […]

在Android 4.0.4默认浏览器上,JavaScript点击事件无法在Samsung Galaxy SIII上运行

我对Android 4.0.4上三星Galaxy SIII的默认浏览器有一个最奇怪的问题: 在下面的页面中,单击链接不会触发JavaScript处理程序。 从其中一个div中删除单个’a’字母会使它们再次工作…… 这是JS控制台的屏幕截图: 我打开了一个android bug报告 ,如果你有同样的问题,请为它加星标,谢谢。 预先感谢您的帮助! $(document).ready(function() { alert(‘attaching click handlers’); $(“#red”).click(function(e) { alert(‘red clicked’); $(“body”).css(“background-color”, “#CC0000”); }); $(“#green”).click(function(e) { alert(‘green clicked’); $(“body”).css(“background-color”, “#00CC00”); }); $(“#blue”).click(function(e) { alert(‘blue clicked’); $(“body”).css(“background-color”, “#0000CC”); }); }); CHANGE TO RED CHANGE TO GREEN CHANGE TO BLUE Removing one of the a’s in the content below […]

在Chrome的Ominbox上按下Enter键时会激活Keyup事件侦听器

在Chrome浏览器中,使用此代码段时: $(document).on(‘keyup’, function(){ alert(“Hey”); }); 每当我按下url栏中的enter键时(例如,当我剪切并粘贴页面本身的url时),事件监听器就会触发。 为什么会这样? 编辑: 它让我感到惊讶,因为url bar不在document (可能在window ?)而firefox没有这种行为。 当我查找e.target ,Chrome Inspector会显示body 。 我认为这可能是由事件冒泡引起的所以我试过这个: $(document).on(‘keyup’, function(e){ e.stopPropagation(); alert(“Hey”); }); 但它不起作用。 如何防止它被触发?

Chrome正在缓存HTTP PUT请求

我对Chrome有这个奇怪的问题。 它经常出现缓存PUT请求。 详细信息:我有一个使用backbone.js的应用程序,当尝试将某些更改保留到模型时(主干自动生成PUT请求),Chrome只是不会将该请求发送到服务器。 它在Firefox和IE中运行得非常好(到目前为止还没有在Safari中看到过这个问题)。 以下是Chrome开发者工具“网络”标签的屏幕截图。 如您所见,PUT请求的响应是从缓存返回的(请求没有到达服务器!!) 这是同一请求的标题详细信息的屏幕截图。 再一次,很明显Chrome并不打算将PUT请求发送到服务器。 请求的有效负载是JSON数据。 有关为什么会发生这种情况的想法/我做错了什么? 更新: Chromium已经确认这确实是一个错误 (感谢JanHančič)。 临时解决方案我最终覆盖了Backbone.sync方法,并将时间戳附加到PUT,POST和DELETE请求的查询字符串,以便它们始终是唯一的: if(!options.data && model && (method == ‘create’ || method == ‘update’ || method == ‘delete’)) { params.url += (params.url.indexOf(‘?’) == -1 ? ‘?’ : ‘&’) + ‘_=’ + new Date().getTime(); }