在本文中,我们将详细介绍javascript–iPad没有写文字的各个方面,并为您提供关于ipad的javascript的相关解答,同时,我们也将为您带来关于fw.qq.com/ipaddress已失
在本文中,我们将详细介绍javascript – iPad没有写文字的各个方面,并为您提供关于ipad的javascript的相关解答,同时,我们也将为您带来关于fw.qq.com/ipaddress已失效 javascript获得客户端IP的新方法_javascript技巧、High Performance JavaScript(高性能JavaScript)读书笔记分析_javascript技巧、JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)_javascript技巧、javascript html5 画线 写文字的有用知识。
本文目录一览:- javascript – iPad没有写文字(ipad的javascript)
- fw.qq.com/ipaddress已失效 javascript获得客户端IP的新方法_javascript技巧
- High Performance JavaScript(高性能JavaScript)读书笔记分析_javascript技巧
- JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)_javascript技巧
- javascript html5 画线 写文字
javascript – iPad没有写文字(ipad的javascript)
在桌面上,单击文本框,键入文本,然后单击按钮以验证输入.但是在iPad上,单击它时会打开键盘面板,但键入时文本框中不会显示文本.
为了让事情变得更奇怪,我有一个< textarea>在应用程序的另一部分,它完美地工作.区别在于一个位于应用程序之上,另一个位于导入的html中.
应用程序的结构如下:
在顶部我有主HTML5页面,它导入一个包含3个div的html页面.每个div依次导入其他html页面.这些页面各有不同的内容,包括有问题的输入字段.
像这样的东西:
Main.html -> container.html (imported via iframe) -> div1 (imports page n-1 via load(url)) -> div2 (imports page n via load(url)) -> div3 (imports page n+1 via load(url)) pageN.html -> contains the <input> field
< textarea>的代码坐在主要的HTML上是这样的:
<form id="formNotes"> <textarea id="mainTextBox" type="text" onKeyUp="RefreshNote()" onChange="RefreshNote()"></textarea> </form>
并且< input>的代码导入的html页面内的字段是这样的:
input{ -webkit-user-select: auto; } <form id="formInput"> <input id="text1" type="text" ontouchstart="OpenKeyboard(this)" onKeyDown="WriteText(this)" onKeyUp="WriteText(this)" onChange="WriteText(this)"></input> </form>
我在导入的HTML上使用事件时学到的一件事是你需要使用ontouchstart和其他人来调用click函数.但在这种情况下,我可以让iPad打开键盘,所以我不知道为什么它没有识别键盘键上的点击,或者为什么它没有将值发送到文本框中.
[编辑:]我发现我没有收到任何文字的原因是因为iPad认为< input>字段不存在(它在警报中显示为空白,而不是[object Object]或[object HTMLInputElement]).我不知道为什么.
[编辑2:]我试图使用getElementsByTagName和getElementsByClassName而不是getElementById.有了它似乎识别< input>,但我仍然无法达到该值.
解决方法
罪魁祸首是-webkit-user-select:none;.
Here’s the demo.
我原以为禁用用户选择只会阻止放大镜或copy’n’paste按钮等各种工具出现,但事实证明这完全禁用了输入.点击输入字段时键盘会显示 – 但就是这样:您输入的任何内容都不会显示在输入字段中.
正在删除-webkit-user-select:none;或至少更有选择性地应用它做了诀窍.
直到现在我正在写这个答案谷歌终于提供了.这是another answer on SO
总结
以上是小编为你收集整理的javascript – iPad没有写文字全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
fw.qq.com/ipaddress已失效 javascript获得客户端IP的新方法_javascript技巧
我们调用它的写法是。它能够返回用户IP和地址,例如:var IPData = new Array("220.181.108.85","","北京市",""); 我们便可以使用IPData[0]作为用户IP了。
但是最近不知道腾讯怎么回事,这个地址失效了,提示“HTTP 500 内部服务器错误”。
javascript获得客户端IP的又一方法
近日,我发现了另一个可以获得客户端IP的方法,这个服务是国外一网站提供的。使用方法如下:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
如下显示的就是你的IP:
You are visiting from:
IP Address: 117.87.4.102
Host: 102.4.87.117.broad.xz.js.dynamic.163data.com.cn
如果你不想在网页上显示,仅仅想获得IP,用于其他用途,那么需要把VIH_DisplayOnPage = "yes"改为VIH_DisplayOnPage = "no"。IP变量是VIH_HostIP。调用方法如下:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
High Performance JavaScript(高性能JavaScript)读书笔记分析_javascript技巧
第一章:加载和执行浏览器的JavaScript的引擎是编译器层的优化;
当浏览器执行JavaScript代码时,不能同时做其他任何事情(单一进程),意味着<script>标签每次出现都霸道地让页面等带脚本的解析和执行(每个文件必须等到前一个文件下载并执行完成才会开始下载),所以头部的JS和CSS用来渲染页面,交互行为(几乎所有)的JS放在<body>底部; <BR>主流浏览器都允许并行下载JS。 <BR>减少外链脚本数量将会改善性能(合并JS) <BR>任何网站都可以使用一个把制定文件合并处理后的URL来获取任意数量的文件。 <BR>defer属性可延迟脚本(只有IE4 和FF3.5 支持) <BR><STRONG>第二章:数据访问 <br><br>JavaScript中有四种基本的数据存取位置: 直接量,变量,数组元素(以数字作为索引),对象成员(以字符床作为索引)。 <BR>访问直接量和局部变量的速度最快,相反,访问数组元素和对象成员相对较慢。 <BR>属性或方法在原型链中的位置越深,访问它的速度也越慢。 <BR>通常来说,可以通过吧常用的对象,数组元素,跨越变量保存在局部变量中来改善JavaScript性能。 <BR><STRONG>第三章:DOM编程 <br><br>DOM操作在webkit内核的浏览器速度快,其他的浏览器innerHTML执行快。 <BR>访问和操作DOM是现代WEB应用的重要部分。但每次穿越链接ECMAScript和DOM两个岛屿之间的桥梁都会被收取‘过桥费''. <BR>要留意重回和重排。 <BR>在IE中:hover会降低响应速度。 <BR><STRONG>第四章:算法和流程控制 <BR><BR>避免使用for-in循环,除非需要遍历一个属性数量位置的对象。 <BR>了解栈溢出错误。 <BR><STRONG>第五章:字符串和正则表达式 <br><br>回溯既是正则表达式匹配功能的基本组成部分,也是正则表达式的低效之源。 <BR><STRONG>第六章:快速响应的用户界面 <br><br>任何JavaScript任务都不应当执行超过100毫秒。 <BR>Web workers是新版浏览器支持的特性。 <BR>没有什么JavaScript代码会重要到可以影响用户体验的程度. <BR><STRONG>第七章:Ajax <br><br>JSON是轻量级的数据格式,解析速度快。 <BR>减少请求数,可通过合并JS和CSS,还有IMG。 <BR>缩短页面加载时间,页面主要内容加载完成后,用Ajax获取那些次要的文件。 <BR><STRONG>第八章:编程实践 <br><br>大多数的时候,没必要使用eval()和Function(),因此最好避免使用它们。至于setTimeout()和setInterval(),建议传入函数而不是字符串来作为第一个参数。 <BR>在JavaScript中创建对象和数组的方法有多种,但使用对象和数组直接量是最快的方式(对象属性和数组项越多,使用直接量的好处就越明显)。 <BR>不要重复工作:延迟加载;条件预加载. <BR>多使用原生方法,因为更快。 <BR><STRONG>第九章:构建并部署高性能JavaScript应用 <br><br>PV(page view)即页面浏览量或点击量。 <BR>减少页面渲染所需的HTTP请求数,特别是针对那些首次访问网站的用户。 <BR>JavaScript压缩。 <BR>JavaScript缓存。 <BR>使用内容分发网络(CDN) <BR>第十章主要介绍工具:如firebug,YSlow,和一些性能分析. </script>
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)_javascript技巧
1、防止滥用JavaScript“不管你想通过JavaScript改变哪个网页的行为,都必须三思而后行。首先要确认:为这个网页增加这种额外的行为是否确有必要?”
个人认为,作者的这句话放在当前几乎无处不用JavaScript来增强Web页面交互体验的时代,可以理解为应该适当的使用JavaScript,而不要因为使用了实现酷炫效果的脚本导致网页加载缓慢或者兼容性极差而舍本求末,导致用户无法浏览和使用网站。
2、平稳退化平稳退化是指当用户禁用浏览器JavaScript或浏览器不支持JavaScript(还有吗)时,应该让用户仍然可以正常的浏览网站。
刚看到这个问题的时候,感觉这种情况几乎可以忽略不计,因此看了一些关于这个问题的讨论(知乎)以及博文《javascript不可用的问题探究》,并拿博客园首页做了实验,即在禁用JavaScript的情况下浏览网页,发现虽然无法评论博客、无法正常显示分类效果、当然广告也没了,但是主要的功能(查看博文、分页跳转等)是可以正常使用的。
那么基本可以得出结论:在考虑平稳退化的时候,根据需要至少应该保证网站主要功能可以正常使用。对博客园来说,就是查看博客。
3、禁用"javascript:"伪协议和内嵌事件处理函数虽然在HTML中使用这两种写法,不会带来什么严重问题,但是它会阻止平稳退化(网页行为不一致),并且使脚本的编写方式混乱,增加了代码维护的难度。
4、性能考虑关于性能考虑的最佳实践,还是非常容易理解的。
“尽量少访问DOM和尽量减少标记”。少访问DOM是因为查询DOM的操作会非常耗费性能。多处函数的重复DOM查询应该进行重构,提取为全局变量或者直接作为参数进行传递。减少标记可以减小DOM的规模,从而减少查找DOM树中特定元素的时间。
“合并脚本”。合并外部脚本文件,可以减少加载页面时发送的请求次数。通过观察Chrome开发者工具Network标签,可以非常清楚的看到加载网页的请求次数和时间,下图为请求我的博客的情况,第三方的百度分享插件是最慢被加载的,当然整体加载时间还是可以接受的。不过当引用的文件过多过大,或者依赖的第三方插件请求缓慢时,整个页面就会一直处于加载状态,给人的感觉就是网页加载缓慢,体验就会变差。
另外,“脚本在标记中的位置对页面的初次加载时间也有很大的影响”。就像bootstrap的实例中,引用的JS插件统统放在了页面的尾部,并加了说明。
因为根据HTTP规范,浏览器每次从同一个域名中最多只能同时下载两个文件,而在脚本下载期间,浏览器不会下载其它任何文件,即使是来自不同域名的文件也不会下载,所有其它的资源都要等脚本加载完毕后才会下载;而通常我们会把脚本文件放在块中,此时该块中的脚本会导致浏览器无法并行加载其它文件(如图片或其它脚本)。
把所有 <script> 标签放在文档的末尾,</script>
javascript html5 画线 写文字
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" />
</script>
<canvas id="controlCanvas" width="1680" height="1050">
</canvas>
<button id="changeSize">
变化大小
</button>
<script type="text/javascript" src="jquery-1.6.4.min.js" />
</script>
<script type="text/javascript">
$(function() {
var sceneWidth = 950;
var sceneHeight = 600;
var originX = 100;
var originY = 100;
var tileWidth = 64;
var tileHeight = 32;
drawXY(sceneWidth, sceneHeight, originX, originY);
drawTile(sceneWidth, sceneHeight, originX, originY, tileWidth, tileHeight);
})
function drawXY(sceneWidth, sceneHeight, originX, originY)
{
var canvas = document.getElementById("controlCanvas");
var context = canvas.getContext("2d");
context.beginPath();
// 画个矩形表示一张地图
context.moveTo(originX, originY);
context.lineTo(originX + sceneWidth, originY);
context.lineTo(originX + sceneWidth, originY + sceneHeight);
context.lineTo(originX, originY + sceneHeight);
// 写字
context.fillText("(0, 0)", originX - 45, originY - 15);
context.fillText(sceneWidth, originX + sceneWidth, originY - 5);
context.fillText(sceneHeight, originX - 20, originY + sceneHeight);
context.stroke();
}
function drawTile(sceneWidth, sceneHeight, originX, originY, tileWidth, tileHeight)
{
var canvas = document.getElementById("controlCanvas");
var context = canvas.getContext("2d");
context.beginPath();
var row = (sceneHeight + tileHeight - 1) / tileHeight;
var col = (sceneWidth + tileWidth - 1) / tileWidth;
for (var i = 0; i < row; ++i) {
context.moveTo(originX, originY + i * tileHeight);
context.lineTo(originX + sceneWidth, originY + i * tileHeight);
context.fillText(i, originX - 25, originY + i * tileHeight + 3);
}
for (var i = 0; i < col; ++i) {
context.moveTo(originX + i * tileWidth, originY);
context.lineTo(originX + i * tileWidth, originY + sceneHeight);
context.fillText(i, originX + i * tileWidth - 3, originY - 20);
}
context.stroke();
}
</script>
关于javascript – iPad没有写文字和ipad的javascript的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于fw.qq.com/ipaddress已失效 javascript获得客户端IP的新方法_javascript技巧、High Performance JavaScript(高性能JavaScript)读书笔记分析_javascript技巧、JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)_javascript技巧、javascript html5 画线 写文字等相关内容,可以在本站寻找。
本文标签: