我正在使用jQuery Mobile 4.1开发应用程序.
在我的应用程序中,我有两个html页面,如login.html和home.html.在home.html有3页.()像menupage,searchpage,resultspage.
项目流程为login.html ---> home.html.在home.html中,menupage显示为第一页.如果我在menupage中选择了一些选项,它将移至搜索页面,然后移至结果页面.考虑一下,目前我在结果页面.如果我按移动浏览器上的后退按钮(iPhone-safari,Android-chrome),则会移至login.html.
但我想显示searchPage.怎么解决这个?是否有可能做到这一点?
[注意:页面应该在单个html页面(home.html)中.
我有一个网站,我试图使用Ajax更新页面上的一些东西而不重新加载它.但是,我的很多用户很可能会使用不支持Javascript的移动浏览器,因此我尝试使用元刷新标签设计页面,这种方式只适用于没有Javascript的用户.有没有办法做到这一点?
我尝试将标签放在一个noscript元素中,但我的原始手机浏览器不会承认它.我想可能设置一个cookie来记住用户的浏览器是否支持Javascript,或者有一个版本的页面无需Javascript,并尝试使用Javascript将用户重定向到更复杂的版本,但我想知道是否有这是一种更优雅的方式.有没有人有任何想法?
在我的网站上,IE7似乎忽略了某些CSS属性选择器.奇怪的是,只有当页面来自生产服务器时才会发生.如果我的个人服务器上有完全相同的代码,或保存在我的硬盘上,它可以正常工作.以下是导致问题的示例:
<!DOCTYPE HTML>
<html><head>
<title>IE display test</title>
<style type="text/css">
[type=button] {
display: block;
}
</style>
</head>
<body>
<input type="button" value="Button 1"/>
<input type="button" value="Button 2"/>
<input type="button" value="Button 3"/>
</body></html>
Run Code Online (Sandbox Code Playgroud)
由于按钮上的显示设置为"阻止",因此它们应垂直排列.但只有当我的生产服务器提供页面时,它们才会水平排列.当我使用开发人员工具栏检查样式时,我没有像往常一样看到"显示"属性.我唯一能想到的可能是这会导致页面的URL或来自服务器的响应头.我可以通过实验来弄清楚,但这样做会很不方便和耗时,所以在我这样做之前,我想问:为什么会发生这种情况以及可以做些什么呢?
编辑:我想出了一个小提琴.它在该网站上看起来很好.
编辑2:以下是来自生产服务器的响应标头:
HTTP/1.1 200 OK
服务器:Apache-Coyote/1.1
内容类型:text/html; charset = utf-8
内容 - 语言:en-US
内容长度:291
日期:星期三,2012年1月18日21:32:48 GMT
编辑3:以下是我个人服务器的响应标题:
HTTP/1.1 200 OK
日期:星期三,2012年1月18日21:37:30 GMT
服务器:Apache
变化:接受编码
内容编码:gzip
内容长度:176
保持活动:超时= 2,最大= 100
连接:保持-Alive
Content-Type:text/html; charset = utf-8
生产服务器不应用gzip压缩,因为它只对大于特定大小的文件执行此操作.如果我添加一些东西来使文件足够大,它使用gzip,我仍然在IE7中看到问题,所以这似乎与gzip没有任何关系.
我尝试配置我的个人服务器以发送"内容 - 语言"标题,如生产服务器,并没有触发问题.
我不知道是否有任何其他标题与此有关.我可以尝试测试它们,但它会有点棘手,所以可能需要一些时间. …
html css internet-explorer css-selectors internet-explorer-7
我正在尝试做这个Matasano加密挑战,涉及对人为减慢字符串比较功能的服务器进行定时攻击.它说使用"你选择的web框架",但我不想安装Web框架,所以我决定使用模块中内置的HTTPServer类http.server.
我想出了一些工作,但它是非常缓慢的,所以我尝试使用内置的(不良的记录)线程池来加速这一过程multiprocessing.dummy.它的速度要快得多,但我注意到一些奇怪的事情:如果我同时发出8个或更少的请求,它就可以了.如果我有更多,它会工作一段时间,并在看似随机的时间给我错误.这些错误似乎是不一致的,而不是总是相同的,但他们通常有Connection refused, invalid argument,OSError: [Errno 22] Invalid argument,urllib.error.URLError: <urlopen error [Errno 22] Invalid argument>,BrokenPipeError: [Errno 32] Broken pipe,或urllib.error.URLError: <urlopen error [Errno 61] Connection refused>在其中.
服务器可以处理的连接数有限制吗?我不认为线程本身的数量是问题,因为我编写了一个简单的函数,它在没有运行Web服务器的情况下进行了减慢的字符串比较,并使用500个并发线程调用它,并且它工作正常.我不认为只是从那么多线程发出请求就是问题所在,因为我已经使用了超过100个线程的爬虫(都同时向同一个网站发出请求)并且它们工作正常.看起来HTTPServer可能并不是为了可靠地托管能够获得大量流量的生产网站,但我很惊讶它很容易让它崩溃.
我尝试逐渐从我的代码中删除看起来与问题无关的东西,正如我在诊断这样的神秘错误时通常所做的那样,但在这种情况下这并不是很有帮助.看起来我正在删除看似无关的代码,服务器可以处理的连接数量逐渐增加,但没有明确的崩溃原因.
有谁知道如何增加我一次可以提出的请求数量,或者至少为什么会发生这种情况?
我的代码很复杂,但我想出了这个简单的程序来演示这个问题:
#!/usr/bin/env python3
import os
import random
from http.server import BaseHTTPRequestHandler, HTTPServer
from multiprocessing.dummy import Pool as ThreadPool
from socketserver import ForkingMixIn, ThreadingMixIn
from threading import Thread
from time import sleep
from urllib.error import HTTPError …Run Code Online (Sandbox Code Playgroud) 我打算使用Python函数注释来指定静态工厂方法的返回值的类型.我知道这是注释的理想用例之一.
class Trie:
@staticmethod
def from_mapping(mapping) -> Trie:
# docstrings and initialization ommitted
trie = Trie()
return trie
Run Code Online (Sandbox Code Playgroud)
PEP 3107指出:
函数注释只不过是一种在编译时将任意Python表达式与函数的各个部分相关联的方法.
Trie是Python中的有效表达式,不是吗?Python不同意或者更确切地说,找不到名称:
def from_mapping(mapping) -> Trie:
NameError: name 'Trie' is not defined
值得注意的是,如果指定了基本类型(例如objector int)或标准库类型(例如collections.deque),则不会发生此错误.
导致此错误的原因是什么?如何解决?
我试图在jQuery中使用getJSON函数来导入一些数据并触发回调函数.回调函数不运行.但是,如果我使用get函数尝试相同的操作,它可以正常工作.奇怪的是,即使我将"json"作为类型传递,它也适用于get函数.为什么会这样?我在Firefox 3和IE 7中测试了以下文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>ajax test</title>
<script type="text/javascript" src="/jquery-1.3.2.min.js"></script>
</head>
<body>
<input type="button" id="test1" value="get">
<input type="button" id="test2" value="getJSON">
<input type="button" id="test3" value="get with json type">
<script type="text/javascript">
$("#test1").click(function() {
$.get("index.html",
function(response) {
alert('hi');
//works
}
)
});
$("#test2").click(function() {
$.getJSON("index.html",
function(response) {
alert('hi');
//doesn't work
}
)
});
$("#test3").click(function() {
$.get("index.html",
function(response) {
alert('hi');
//works
},
"json"
)
});
</script>
</body></html>
Run Code Online (Sandbox Code Playgroud)
无论我访问哪个URL,这似乎都会发生,只要它在同一个域上.我尝试传递一些数据,这没有什么区别.
当然,我可以通过使用get函数解决问题,就像我在第3次测试函数中所做的那样,但我仍然很好奇为什么会发生这种情况.
我知道这里有一个类似的问题,但它没有回答我的问题.
我知道socketserver有一个方法shutdown()导致服务器关闭但这只适用于多线程应用程序,因为需要从运行serve_forever()的线程以外的线程调用shutdown.
我的应用程序一次只处理一个请求所以我不使用单独的线程来处理请求,我无法调用shutdown(),因为它会导致死锁(它不在文档中,但它直接在socketserver的源代码中声明).
我会在这里粘贴我的代码的简化版本以便更好地理解:
import socketserver
class TCPServerV4(socketserver.TCPServer):
address_family = socket.AF_INET
allow_reuse_address = True
class TCPHandler(socketserver.BaseRequestHandler):
def handle(self):
try:
data = self.request.recv(4096)
except KeyboardInterrupt:
server.shutdown()
server = TCPServerV4((host, port), TCPHandler)
server.server_forever()
Run Code Online (Sandbox Code Playgroud)
我知道这段代码不起作用.我只想向您展示我想要完成的事情 - 当用户按下Ctrl-C时关闭服务器并在等待传入数据时退出应用程序.
我试图制作一个具有一些动态行为的表单.具体来说,我在div中输入了输入,我希望当用户点击div中的任意位置时,输入就会被选中.我使用的是JQuery 1.2.6,一切正常.
但是,我升级到JQuery 1.3.2并且我得到了一些奇怪的行为.当我点击任何输入时,我会在选择之前得到延迟.我的Firefox错误控制台在JQuery库中给了我几个"太多的递归"错误.我在Internet Explorer 7中尝试了该页面并收到错误消息"对象不支持此属性或方法".
我做错了什么,或者这是JQuery中的错误?有没有人知道一种方法来修复这种行为,而不回到旧版本?我正在使用Firefox 3.0.7以防万一.这是我用来说明问题的一个简单示例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>quiz test</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
</head>
<body>
<div class='question'>Favorite soda?
<div><input type='radio' name='q' value='A' id='a'><label for='a'>Coke</label></div>
<div><input type='radio' name='q' value='B' id='b'><label for='b'>Pepsi</label></div>
</div>
<script type="text/javascript">
$(function() {
$(".question div").click(function() {
$(this).children("input").click();
});
});
</script>
</body></html>
Run Code Online (Sandbox Code Playgroud) 我正在开发一个协作项目,并在Red Hat Enterprise Linux 3上使用Subversion.我想知道我登录的是谁.我是以自己还是其他人登录的?如果我签入我的工作,那么与提交相关联的用户名是什么?
我从未被提示输入用户名或密码.当我提交更改时,它们只会以别人的名义提交.我希望他们以我的名义承诺.
我尝试了本页所述的"--username"选项,但似乎没有用.我做了一个提交,它是在另一个用户名下完成的.我想知道一些方法可以确保在我提交之前我的更改将以我的名义提交.
使用Javascript,是否有标准的方法来获取图像的绝对路径?img.getAttribute("src")仅返回srcHTML中声明的属性.
javascript ×4
python ×3
ajax ×2
html ×2
jquery ×2
python-3.x ×2
annotations ×1
css ×1
httpserver ×1
image ×1
meta-tags ×1
sockets ×1
socketserver ×1
svn ×1
type-hinting ×1
url ×1
urllib ×1