首页
直播
壁纸
免责声明
更多
统计
关于
Search
1
一款自动化渗透工具包 TscanPlus
225 阅读
2
获取一张美国虚拟信用卡
223 阅读
3
JS Document.evaluate()的使用
199 阅读
4
Git冲突:Please commit your changes or stash them before you merge
176 阅读
5
Python 31条 pip 命令全解析
164 阅读
默认分类
操作系统
Linux
管理面板
实用工具
开发语言
PHP
Web
python
typecho
ThinkPHP
layui
爬虫
文章分享
登录
Search
标签搜索
python
php
web
linux
Git
js
requests
自动化
宝塔
thinkphp
Centos
adb
html
typecho
layui
jquery
ubuntu
multipass
虚拟机
thikphp
YiYun
累计撰写
54
篇文章
累计收到
21
条评论
首页
栏目
默认分类
操作系统
Linux
管理面板
实用工具
开发语言
PHP
Web
python
typecho
ThinkPHP
layui
爬虫
文章分享
页面
直播
壁纸
免责声明
统计
关于
搜索到
26
篇与
的结果
2024-03-29
Python脚本利用adb进行手机控制的方法
这篇文章主要介绍了Python脚本利用adb进行手机控制的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧一. adb 相关命令:关闭adb服务:adb kill-server启动adb服务 adb start-server查询当前运行的所有设备 adb devices可能在adb中存在多个虚拟设备运行 可以指定虚拟设备运行 -s 虚拟设备名称重启设备 adb reboot --指定虚拟设备 adb -s 设备名称 reboot查看日志 adb logcat 清除日志 adb logcat -c进入linux shell下 adb shell 其中常用的linux命令 cd cat 等等 输入su可以获取超级管理员名称了 要确定是否有哪些命令 进入 system/bin目录 就知道了传入文件到设备中 adb push 本地文件 远程目录从设备中拷贝文件到本地 adb -s emulator-5556 pull /data/config.ini d:/显示当前运行的全部模拟器: adb devices安装应用程序: adb install -r 123.apk获取模拟器中的文件: adb pull 向模拟器中写文件: adb push 进入模拟器的shell模式: adb shell卸载apk包: adb shell cd data/app rm 123.apk exit adb uninstall 123.apk adb install -r 123.apk查看adb命令帮助信息: adb help删除系统应用: adb remount (重新挂载系统分区,使系统分区重新可写)。 adb shell cd system/app rm 123.apk获取管理员权限: adb root19、复制文件:复制一个文件或目录到设备:adb push 如:adb push update.zip /sdcard/从设备上复制一个文件或目录:adb pull 如:adb pull /sdcard/update.zip.20、取得当前运行设备的实例的列表及每个实例的状态:adb devices21:这条命令模拟android手机在屏幕坐标(X,Y)处进行了点击操作。adb shell input tap22:这条命令模拟Android手机从屏幕坐标(X1,Y1)滑动到坐标(X2,Y2)的操作。adb shell input swipe 23:Luiautomator dump dump: creates an XML dump of current UI hierarchy 这个命令是用来成成当前界面的UI层次,并用XML格式进行展示 。这样就可以获取各个组件的位置了注:如果PC要想同时控制多台Android手机,必须在adb 后面添加-s例如:adb -s 13b6e4c4 shell input tap 400 400表示对13b6e4c4这台Android手机进行在屏幕上(400,400)坐标位置进行模拟的点击事件。24.能看到设备信息就代表设备已经连接成功了,接下来的命令就是adb install 路径+包名.apk例如我的安装包放在桌面,那么命令就是adb install C:\Users\hyh\Desktop\XXX.apk* adb shell uiautomator dump /mnt/sdcard/window_dump.xml 获得手机当前界面的UI信息,生成window_dump.xml* adb shell input text “123” 输入text举例:1、打开cmd,进入到当前文件夹中,输入命令 adb devices 查看当前与电脑连接的设备(前提是,手机打开usb调试模式),可以查看已连接成功的手机。2、 若手机成功连接,输入命令 adb shell input tap 100 100 , 表示点击屏幕上坐标为(100,100)的点,如果不知道需要点击的点的具体位置的话可以在手机开发者模式中设置。二. adb 模拟按键:比如使用 adb shell input keyevent 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 KeyEvent,摘引部分我觉得有意思的如下:Keycode含义3HOME 键4返回键5打开拨号应用6挂断电话24增加音量25降低音量26电源键27拍照(需要在相机应用里)64打开浏览器82菜单键85播放/暂停86停止播放87播放下一首88播放上一首122移动光标到行首或列表顶部123移动光标到行末或列表底部126恢复播放127暂停播放164静音176打开系统设置187切换应用207打开联系人208打开日历209打开音乐210打开计算器220降低屏幕亮度221提高屏幕亮度223系统休眠224点亮屏幕231打开语音助手276如果没有 wakelock 则让系统休眠input 命令的一些用法举例电源键命令:adb shell input keyevent 26执行效果相当于按电源键。菜单键命令:adb shell input keyevent 82HOME 键命令:adb shell input keyevent 3返回键命令adb shell input keyevent 4音量控制增加音量:adb shell input keyevent 24降低音量:adb shell input keyevent 25静音:adb shell input keyevent 164媒体控制播放/暂停:adb shell input keyevent 85停止播放:adb shell input keyevent 86播放下一首:adb shell input keyevent 87播放上一首:adb shell input keyevent 88恢复播放:adb shell input keyevent 126暂停播放:adb shell input keyevent 127点亮/熄灭屏幕可以通过上文讲述过的模拟电源键来切换点亮和熄灭屏幕,但如果明确地想要点亮或者熄灭屏幕,那可以使用如下方法。点亮屏幕:adb shell input keyevent 224熄灭屏幕:adb shell input keyevent 223三、使用python脚本自动运行cmd 命令1.在adb文件夹下建立一个python文件import os os.system('adb shell input tap 100 100');运行脚本,发现与在命令行输入相同语句有同样的效果。2、也可以使用subprocess.Popen,最简单使用方式如下,设置shell=True,就不会弹出cmd框process = subprocess.Popen('adb shell input tap 14 1402',shell=True)程序实例:#coding:utf-8 #程序功能:可以实现抖音个人页面视频的自动点击,从而自动增加访问量 #思路:抖音主页中两个视频切换点击,可以实现访问量的增加 #使用ADB程序,视频的屏幕坐标可以使用adb shell uiautomator dump命令,获取该页面xml源码后查得 #下述是小米MIX2抖音主页第一个视频和第二个视频的坐标位置 #缺点:运行时不能移动屏幕,后续可以采用获取模块ID号的方式去点击相应的位置 import time import subprocess i = 0 #每次操作的间隔时间取决于手机配置,配置越高时间越短 sleep_time = 0.5 while 1: #用popen设置shell=True不会弹出cmd框 process = subprocess.Popen('adb shell input tap 14 1402',shell=True) time.sleep(sleep_time) process = subprocess.Popen('adb shell input keyevent KEYCODE_BACK', shell=True) time.sleep(sleep_time) process = subprocess.Popen('adb shell input tap 375 1402', shell=True) time.sleep(sleep_time) process = subprocess.Popen('adb shell input keyevent KEYCODE_BACK', shell=True) time.sleep(sleep_time) #os.system('adb shell input tap 14 1402') #os.system('adb shell input keyevent KEYCODE_BACK') #os.system('adb shell input tap 375 1402') i+=1 print str(i) + 'clicks have been completed'实现原理Hierarchy Viewer:获得当前手机实时的UI信息,方便用于手机的自动化测试;python中的subprocess.Popen() 或 Python os模块:调用系统命令;uiautomator工具:获取界面控件信息;adb命令:对手机进行操作;原文出处: Python脚本利用adb进行手机控制的方法
2024年03月29日
97 阅读
0 评论
0 点赞
2024-03-28
xpath路径表达式
简单说,xpath就是选择XML文件中节点的方法。所谓节点(node),就是XML文件的最小构成单位,一共分成7种。- element(元素节点) - attribute(属性节点) - text (文本节点) - namespace (名称空间节点) - processing-instruction (处理命令节点) - comment (注释节点) - root (根节点)xpath可以用来选择这7种节点。不过,下面的笔记只涉及最常用的第一种element(元素节点),因此可以将下文中的节点和元素视为同义词。一、xpath表达式的基本格式xpath通过"路径表达式"(Path Expression)来选择节点。在形式上,"路径表达式"与传统的文件系统非常类似。# 斜杠(/)作为路径内部的分割符。 # 同一个节点有绝对路径和相对路径两种写法。 # 绝对路径(absolute path)必须用"/"起首,后面紧跟根节点,比如/step/step/...。 # 相对路径(relative path)则是除了绝对路径以外的其他写法,比如 step/step,也就是不使用"/"起首。 # "."表示当前节点。 # ".."表示当前节点的父节点二、选择节点的基本规则- nodename(节点名称):表示选择该节点的所有子节点 - "/":表示选择根节点 - "//":表示选择任意位置的某个节点 - "@": 表示选择某个属性三、选择节点的实例先看一个XML实例文档。<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>[例1]bookstore :选取 bookstore 元素的所有子节点。[例2]/bookstore :选取根节点bookstore,这是绝对路径写法。[例3]bookstore/book :选取所有属于 bookstore 的子元素的 book元素,这是相对路径写法。[例4]//book :选择所有 book 子元素,而不管它们在文档中的位置。[例5]bookstore//book :选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。[例6]//@lang :选取所有名为 lang 的属性。四、xpath的谓语条件(Predicate)所谓"谓语条件",就是对路径表达式的附加条件。所有的条件,都写在方括号"[]"中,表示对节点进行进一步的筛选。[例7]/bookstore/book[1] :表示选择bookstore的第一个book子元素。[例8]/bookstore/book[last()] :表示选择bookstore的最后一个book子元素。[例9]/bookstore/book[last()-1] :表示选择bookstore的倒数第二个book子元素。[例10]/bookstore/book[position()<3] :表示选择bookstore的前两个book子元素。[例11]//title[@lang] :表示选择所有具有lang属性的title节点。[例12]//title[@lang='eng'] :表示选择所有lang属性的值等于"eng"的title节点。[例13]/bookstore/book[price] :表示选择bookstore的book子元素,且被选中的book元素必须带有price子元素。[例14]/bookstore/book[price>35.00] :表示选择bookstore的book子元素,且被选中的book元素的price子元素值必须大于35。[例15]/bookstore/book[price>35.00]/title :表示在例14结果集中,选择title子元素。[例16]/bookstore/book/price[.>35.00] :表示选择值大于35的"/bookstore/book"的price子元素。五、通配符# "*"表示匹配任何元素节点。 # "@*"表示匹配任何属性值。 # node()表示匹配任何类型的节点。[例17]//* :选择文档中的所有元素节点。[例18]// :表示选择所有第二层的元素节点。[例19]/bookstore/* :表示选择bookstore的所有元素子节点。[例20]//title[@*] :表示选择所有带有属性的title元素。六、选择多个路径用"|"选择多个并列的路径。[例21]//book/title | //book/price :表示同时选择book元素的title子元素和price子元素。相关文章: CSS选择器
2024年03月28日
78 阅读
0 评论
1 点赞
2024-03-28
python3.6根据m3u8下载mp4视频
这篇文章主要为大家详细介绍了python3.6根据m3u8下载mp4视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下需要下载某网站的视频,chrome浏览器按F12打开开发者模式,发现视频链接是以"blob:http"开头的链接,打开这个链接后找不到网页,网上查了下,找到了下载方法,在这里做个记录,如果有错误,欢迎指出。程序在Windows 10下运行,不过Linux应该也没问题。使用到的有re模块,requests模块和Crypto模块,其中requests模块和Crypto模块如果没安装可以使用pip命令安装。(Crypto模块安装感觉比较坑,我是从anaconda里拷贝了一份)下面开始正题:注:以下使用的m3u8文件所在的网站是自己搭建用来测试的,链接可能会失效。首先在chrome的network里找到一个m3u8文件的请求,可以通过它下载视频。通过Preview可以看到m3u8文件的内容。这里m3u8文件比较重要的内容有两个。一个是URI后面的链接,这个是加密和解密的秘钥,如果m3u8文件里有这个URI,那么这个视频就是经过了加密的,加密的方法可以看URI前面,这里是AES-128加密算法。另一个是以ts结尾链接,这个是视频片段,如果是没进行加密的,可以直接打开这个链接下载视频片段,下载下来的是后缀为ts的文件,一般可以直接播放,不过时间很短。如果是加密过的,下载后播放会提示视频文件已损坏。知道这些后,就可以进行下载了,先获取m3u8文件的内容,然后解析出秘钥(key)和ts的链接,然后下载key对每一个ts进行解密,保存到一个mp4文件里。下载用的是requests模块,解析key和ts的链接是用的re模块,解密用的是Crypto模块。使用Crypto需要注意三个地方,一个是安装和导入,第二个是Crypto里AES.new的参数,第三个是decrypt方法的参数。下面先看代码。导入模块:import re import requests from Crypto.Cipher import AES初始设置:# 保存的mp4文件名 name = "dream_it_possible.mp4" # m3u8文件的url url = "http://www.jiuyi.info/static/video/secret/dream_it_possible.m3u8" # 请求头,不一定需要,看网站更改 headers = { "Referer": "http://www.jiuyi.info/video/dream_it_possible", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36", }获取m3u8文件内容,并解析出key和ts文件的url。# 获取m3u8文件内容 r = requests.get(url) # 通过正值表达式获取key和ts的url k = re.compile(r"http://.*?\.key") # key的正则匹配 t = re.compile(r"http://.*?\.ts") # ts的正则匹配 key_url = k.findall(r.text)[0] # key的url ts_urls = t.findall(r.text) # ts的url列表下载并解密ts文件,保存为mp4文件。# 下载key key = requests.get(key_url).content # 解密并保存ts for ts_url in ts_urls: ts_name = ts_url.split("/")[-1] # ts文件名 # 解密,new有三个参数, # 第一个是秘钥(key)的二进制数据, # 第二个使用下面这个就好 # 第三个IV在m3u8文件里URI后面会给出,如果没有,可以尝试把秘钥(key)赋值给IV sprytor = AES.new(key, AES.MODE_CBC, IV=key) # 获取ts文件二进制数据 ts = requests.get(ts_url).content # 密文长度不为16的倍数,则添加二进制"0"直到长度为16的倍数 while len(ts) % 16 != 0: ts += b"0" # 写入mp4文件 with open(name, "ab") as file: # decrypt方法的参数需要为16的倍数,如果不是,需要在后面补二进制"0" file.write(sprytor.decrypt(ts)) print(name, "下载完成")到这里就下载完成了。完整代码:import re import requests from Crypto.Cipher import AES # 保存的mp4文件名 name = "dream_it_possible.mp4" # m3u8文件的url url = "http://www.jiuyi.info/static/video/secret/dream_it_possible.m3u8" # 请求头,不一定需要,看网站更改 headers = { "Referer": "http://www.jiuyi.info/video/dream_it_possible", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36", } print("正在解析:" + url.split("/")[-1]) # 获取m3u8文件内容 r = requests.get(url) # 通过正值表达式获取key和ts的链接 k = re.compile(r"http://.*?\.key") # key的正则匹配 t = re.compile(r"http://.*?\.ts") # ts的正则匹配 key_url = k.findall(r.text)[0] # key的url ts_urls = t.findall(r.text) # ts的url列表 # 下载key的二进制数据 print("正在下载key") key = requests.get(key_url).content # 解密并保存ts for ts_url in ts_urls: ts_name = ts_url.split("/")[-1] # ts文件名 # 解密,new有三个参数, # 第一个是秘钥(key)的二进制数据, # 第二个使用下面这个就好 # 第三个IV在m3u8文件里URI后面会给出,如果没有,可以尝试把秘钥(key)赋值给IV sprytor = AES.new(key, AES.MODE_CBC, IV=key) # 获取ts文件二进制数据 print("正在下载:" + ts_name) ts = requests.get(ts_url).content # 密文长度不为16的倍数,则添加b"0"直到长度为16的倍数 while len(ts) % 16 != 0: ts += b"0" print("正在解密:" + ts_name) # 写入mp4文件 with open(name, "ab") as file: # # decrypt方法的参数需要为16的倍数,如果不是,需要在后面补二进制"0" file.write(sprytor.decrypt(ts)) print("保存成功:" + ts_name) print(name, "下载完成")
2024年03月28日
71 阅读
0 评论
0 点赞
2024-03-28
python爬虫爬取视频时,实现实时进度条显示
一、全部代码展示from contextlib import closing from requests import get url = 'https://v26-web.douyinvod.com/57cdd29ee3a718825bf7b1b14d63955b/615d475f/video/tos/cn/tos-cn-ve-15/72c47fb481464cfda3d415b9759aade7/?a=6383&br=2192&bt=2192&cd=0%7C0%7C0&ch=26&cr=0&cs=0&cv=1&dr=0&ds=4&er=&ft=jal9wj--bz7ThWG4S1ct&l=021633499366600fdbddc0200fff0030a92169a000000490f5507&lr=all&mime_type=video_mp4&net=0&pl=0&qs=0&rc=ank7OzU6ZnRkNjMzNGkzM0ApNmY4aGU8MzwzNzo3ZjNpZWdiYXBtcjQwLXNgLS1kLTBzczYtNS0tMmE1Xi82Yy9gLTE6Yw%3D%3D&vl=&vr=' with closing(get(url, stream=True)) as response: chunk_size = 1024 # 单次请求最大值 # response.headers['content-length']得到的数据类型是str而不是int content_size = int(response.headers['content-length']) # 文件总大小 data_count = 0 # 当前已传输的大小 with open('文件名.mp4', "wb") as file: for data in response.iter_content(chunk_size=chunk_size): file.write(data) done_block = int((data_count / content_size) * 50) # 已经下载的文件大小 data_count = data_count + len(data) # 实时进度条进度 now_jd = (data_count / content_size) * 100 # %% 表示% print("\r [%s%s] %d%% " % (done_block * '█', ' ' * (50 - 1 - done_block), now_jd), end=" ")注:上面的url已过期,需要各位自己去找网页上的视频url二、解释1.with closing我们在日常读取文件资源时,经常会用到with open() as f:的句子。但是使用with语句的时候是需要条件的,任何对象,只要正确实现了上下文管理,就可以使用with语句,实现上下文管理是通过__enter__和__exit__这两个方法实现的。with用法(没有实现上下文管理)class Door(): def open(self): print('Door is opened') def close(self): print('Door is closed') with Door() as d: d.open() d.close()结果报错了:with用法(实现上下文管理)用__enter__和__exit__实现了上下文管理class Door(): def open(self): print('Door is opened') def close(self): print('Door is closed') with Door() as d: d.open() d.close() 结果没报错: closing用法(完美解决上述问题)一个对象没有实现上下文,我们就不能把它用于with语句。这个时候,可以用 contextlib 中的closing()来把该对象变为上下文对象。class Door(): def __enter__(self): print('Begin') return self def __exit__(self, exc_type, exc_value, traceback): if exc_type: print('Error') else: print('End') def open(self): print('Door is opened') def close(self): print('Door is closed') with Door() as d: d.open() d.close()例如:用with语句使用requests中的get(url) 也就是本文中的案例,使用with closing()下载视频(在网页中)2.文件流stream想象一下,如果把文件读取比作向池子里抽水,同步会阻塞程序,异步会等待结果,如果池子非常大呢?因此有了文件流,它就好比你一边抽一边取,不用等池子满了再用,所以对于一些大型文件(几个G的视频)一般会用到这个参数。 (对小型文件也可以使用)3.response.headers['content-length']这表示获取文件的总大小,但是它得到的结果的数据类型是str而不是int,因此需要进行数据类型转换。4.response.iter_content()该方法一般用于从网上下载文件和网页(需要用到requests.get(url))其中chunk_size表示单次请求最大值。5.\r和%\r表示回车(回到行首)%是一种占位符而对于%%,第一个%起到了转义的作用,使结果输出为百分号%
2024年03月28日
99 阅读
0 评论
0 点赞
2024-03-28
分享常用的40个网站制作技巧
将彻底屏蔽鼠标右键οncοntextmenu= "window.event.returnValue=false " 可用于Table<table border οncοntextmenu=return(false)> <td> no </td></table> 取消选取、防止复制<body onselectstart= "return false "> 不准粘贴οnpaste= "return false " 防止复制οncοpy= "return false; " oncut= "return false; " IE地址栏前换成自己的图标<link rel= "Shortcut Icon " href= "favicon.ico ">可以在收藏夹中显示出你的图标<link rel= "Bookmark " href= "favicon.ico "> 关闭输入法<input style= "ime-mode:disabled "> 永远都会带着框架<script language= "JavaScript "> if (window == top)top.location.href = "frames.htm "; //frames.htm为框架网页 </script>防止被人frame<SCRIPT LANGUAGE=JAVASCRIPT> if (top.location != self.location)top.location=self.location; </SCRIPT>网页将不能被另存为<noscript> <iframe src= "/blog/*.html> "; </iframe> </noscript>查看网页源代码<input type=button value=查看网页源代码 οnclick= "window.location = "view-source: "+ "http://www.williamlong.info " ">删除时确认<a href= "javascript:if(confirm( "确实要删除吗? "))location= "boos.asp?&areyou=删除&page=1 " "> 删除 </a>取得控件的绝对位置//Javascript <script language= "Javascript "> function getIE(e){ var t=e.offsetTop; var l=e.offsetLeft; while(e=e.offsetParent) alert( "top= "+t+ "/nleft= "+l); } </script> //VBScript <script language= "VBScript "> function getIE() dim t,l,a,b set a=document.all.img1 t=document.all.img1.offsetTop l=document.all.img1.offsetLeft while a.tagName <> "BODY " set a = a.offsetParent t=t+a.offsetTop l=l+a.offsetLeft wend msgbox "top= "&t&chr(13)& "left= "&l,64, "得到控件的位置 " end function </script>光标是停在文本框文字的最后<script language= "javascript "> function cc() { var e = event.srcElement; var r =e.createTextRange(); r.moveStart( "character ",e.value.length); r.collapse(true); r.select(); } </script> <input type=text name=text1 value= "123 " οnfοcus= "cc() ">判断上一页的来源javascript: document.referrer最小化、最大化、关闭窗口<object id=hh1 classid= "clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11 "> <param name= "Command " value= "Minimize "> </object> <object id=hh2 classid= "clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11 "> <param name= "Command " value= "Maximize "> </object> <OBJECT id=hh3 classid= "clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 "> <PARAM NAME= "Command " VALUE= "Close "> </OBJECT> <input type=button value=最小化 οnclick=hh1.Click()> <input type=button value=最大化 οnclick=hh2.Click()> <input type=button value=关闭 οnclick=hh3.Click()> 本例适用于IE屏蔽功能键Shift,Alt,Ctrl<script> function look(){ if(event.shiftKey) alert( "禁止按Shift键! "); //可以换成ALT CTRL } document.οnkeydοwn=look; </script>网页不会被缓存<META HTTP-EQUIV= "pragma " CONTENT= "no-cache "> <META HTTP-EQUIV= "Cache-Control " CONTENT= "no-cache, must-revalidate "> <META HTTP-EQUIV= "expires " CONTENT= "Wed, 26 Feb 1997 08:21:57 GMT "> 或者 <META HTTP-EQUIV= "expires " CONTENT= "0 ">怎样让表单没有凹凸感?<input type=text style= "border:1 solid #000000 "> 或 <input type=text style= "border-left:none; border-right:none; border-top:none; border-bottom:1 solid #000000 "> </textarea>div span layer的区别<div> (division)用来定义大段的页面元素,会产生转行 <span> 用来定义同一行内的元素,跟</div>的唯一区别是不产生转行 </layer> 是ns的标记,ie不支持,相当于 让弹出窗口总是在最上面:<body οnblur= "this.focus(); ">不要滚动条?让竖条没有: <body style= "overflow:scroll;overflow-y:hidden "> </body> 让横条没有: <body style= "overflow:scroll;overflow-x:hidden "> </body> 两个都去掉?更简单了 <body scroll= "no "> </body>怎样去掉图片链接点击后,图片周围的虚线?<a href= "# " onFocus= "this.blur() "> <img src= "/blog/logo.jpg " border=0> </a>电子邮件处理提交表单<form name= "form1 " method= "post " action= "mailto:****@***.com " enctype= "text/plain "> <input type=submit> </form>在打开的子窗口刷新父窗口的代码里如何写?window.opener.location.reload()如何设定打开页面的大小<body οnlοad= "top.resizeTo(300,200); "> 打开页面的位置 <body οnlοad= "top.moveBy(300,200); ">在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动<STYLE> body {background-image:url(/blog/logo.gif); background-repeat:no-repeat; background-position:center;background-attachment: fixed} </STYLE>检查一段字符串是否全由数字组成<script language= "Javascript "> function checkNum(str){return str.match(//D/)==null} alert(checkNum( "1232142141 ")) alert(checkNum( "123214214a1 ")) </script>获得一个窗口的大小document.body.clientWidth; document.body.clientHeight怎么判断是否是字符if (/[^/x00-/xff]/g.test(s)) alert( "含有汉字 "); else alert( "全是字符 ");TEXTAREA自适应文字行数的多少<textarea rows=1 name=s1 cols=27 onpropertychange= "this.style.posHeight=this.scrollHeight "> </textarea>日期减去天数等于第二个日期<script language=Javascript> function cc(dd,dadd) { //可以加上错误处理 var a = new Date(dd) a = a.valueOf() a = a - dadd * 24 * 60 * 60 * 1000 a = new Date(a) alert(a.getFullYear() + "年 " + (a.getMonth() + 1) + "月 " + a.getDate() + "日 ") } cc( "12/23/2002 ",2) </script>选择了哪一个Radio<HTML> <script language= "vbscript "> function checkme() for each ob in radio1 if ob.checked then window.alert ob.value next end function </script> <BODY> <INPUT name= "radio1 " type= "radio " value= "style " checked> Style <INPUT name= "radio1 " type= "radio " value= "barcode "> Barcode <INPUT type= "button " value= "check " οnclick= "checkme() "> </BODY> </HTML>脚本永不出错<SCRIPT LANGUAGE= "JavaScript "> <!-- Hide function killErrors() { return true; } window.onerror = killErrors; // --> </SCRIPT>ENTER键可以让光标移到下一个输入框<input οnkeydοwn= "if(event.keyCode==13)event.keyCode=9 "> 问题点数:0 回复次数:60 显示所有回复显示星级回复显示楼主回复 netnpc cooly 等 级: 发表于:2007-11-14 12:05:271楼 得分:0检测某个网站的链接速度:把如下代码加入 区域中:<script language=Javascript> tim=1 setInterval( "tim++ ",100) b=1 var autourl=new Array() autourl[1]= "www.njcatv.net " autourl[2]= "javacool.3322.net " autourl[3]= "www.sina.com.cn " autourl[4]= "www.nuaa.edu.cn " autourl[5]= "www.cctv.com " function butt(){ document.write( " <form name=autof> ") for(var i=1;i <autourl.length;i++) document.write( " <input type=text name=txt "+i+ " size=10 value= "/blog/测试中......> " =》 <input type=text name=url "+i+ " size=40> =》 <input type=button value=GO οnclick=window.open(this.form.url "+i+ ".value)> <br/> ") document.write( " <input type=submit value=刷新> </form> ") } butt() function auto(url) else b++ } function run(){for(var i=1;i <autourl.length;i++)document.write( " <img src=http:// "+autourl+ "/ "+Math.random()+ " width=1 height=1 οnerrοr=auto( "http:// "+autourl+ " ")> ")} run() </script>各种样式的光标auto :标准光标default :标准箭头hand :手形光标wait :等待光标text :I形光标vertical-text :水平I形光标no-drop :不可拖动光标not-allowed :无效光标help :?帮助光标all-scroll :三角方向标move :移动标crosshair :十字标e-resizen-resizenw-resizew-resizes-resizese-resizesw-resize页面进入和退出的特效进入页面<meta http-equiv= "Page-Enter " content= "revealTrans(duration=x, transition=y) ">推出页面<meta http-equiv= "Page-Exit " content= "revealTrans(duration=x, transition=y) ">这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使用哪种特效,取值为1-23: 0 矩形缩小 1 矩形扩大 2 圆形缩小 3 圆形扩大 4 下到上刷新 5 上到下刷新 6 左到右刷新 7 右到左刷新 8 竖百叶窗 9 横百叶窗 10 错位横百叶窗 11 错位竖百叶窗 12 点扩散 13 左右到中间刷新 14 中间到左右刷新 15 中间到上下 16 上下到中间 17 右下到左上 18 右上到左下 19 左上到右下 20 左下到右上 21 横条 22 竖条 23 以上22种随机选择一种在规定时间内跳转<META http-equiv=V= "REFRESH " content= "5;URL=http://www.williamlong.info ">网页是否被检索<meta name= "ROBOTS " content= "属性值 "> 其中属性值有以下一些: 属性值为 "all ": 文件将被检索,且页上链接可被查询; 属性值为 "none ": 文件不被检索,而且不查询页上的链接; 属性值为 "index ": 文件将被检索; 属性值为 "follow ": 查询页上的链接; 属性值为 "noindex ": 文件不检索,但可被查询链接; 属性值为 "nofollow ": 文件不被检索,但可查询页上的链接。 最大化窗口? <script language= "JavaScript "> <!-- self.moveTo(0,0) self.resizeTo(screen.availWidth,screen.availHeight) //--> </script> 解决问题:由于层与下拉框之间的优先级是:下拉框 > 层,因此在显示的时候,会因为优先级的次序而会出现如上问题。(如果几个元素都是层的话,我们可以通过层的 z-index 属性来设置)解决办法就是:给层中放一个优先级比下拉框更高的元素(iframe),从而解决此问题!具体解决代码如下: <div id= "menu " style= "position:absolute; visibility:hidden; top:20px; left:20px; width:100px; height:200px; background-color:#6699cc; "> <table> <tr> <td> item 1 </td> </tr> <tr> <td> item 2 </td> </tr> <tr> <td> item 3 </td> </tr> <tr> <td> item 4 </td> </tr> <tr> <td> item 5 </td> </tr> </table> <iframe src= "/blog/javascript:false " style= "position:absolute; visibility:inherit; top:0px; left:0px; width:100px; height:200px; z-index:-1; filter= 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0) '; "> </iframe> </div> <a href= "# " οnclick= "document.getElementById( 'menu ').style.visibility= 'visible ' "> menu </a> <form> <select> <option> A form selection list </option> </select> </form> 输入框也可以做的很漂亮了 <div align= "center "> <input type= "hidden " name= "hao " value= "yes "> 外向数: <input name=answer style= "color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192) "> 没回答的题数: <input name=unanswer id= "unanswer " style= "color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192) "> <br/> 总得分: <input name=score id= "score " style= "color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192) "> 结 论: <input name=xgjg id= "xgjg " style= "color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192) "> <br/> <br/> <input onClick=processForm(this.form) style= "FONT-FAMILY: 宋体; FONT-SIZE: 9pt " type=button value=查看结果 name= "button "> <input type= "reset " name= "Submit " value= "重做 "> </div> 注意:修改 <body> 为 <body οnlοad= "max.Click() "> 即为打开最大 化窗口,而如果改为 <body οnlοad= "min.Click() "> 就变为窗口一打开就最小化 <object id= "min " type= "application/x-oleobject " classid= "clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 "> <param name= "Command " value= "Minimize "> </object> <object id= "max " type= "application/x-oleobject " classid= "clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 "> <param name= "Command " value= "Maximize "> </object> </body> 页面自动刷新(说明) 当你做网页时,是不是有的时候想让你的网页自动不停刷新,或者过一段时间自动跳转到另外一个你自己设定的页面?其实实现这个效果非常地简单,而且这个效果甚至不能称之为特效。你只要把如下代码加入你的网页中就可以了。 1,页面自动刷新:把如下代码加入 <head> 区域中 <meta http-equiv= "refresh " content= "20 "> ,其中20指每隔20秒刷新一次页面. 2,页面自动跳转:把如下代码加入 <head> 区域中 <meta http-equiv= "refresh " content= "20;url=http://www.williamlong.info "> ,其中20指隔20秒后跳转到http://www.williamlong.info页面。 页面自动关闭 5000是指时间 <body onLoad= "setTimeout(window.close, 5000) "> 弹出窗口自动关闭 10秒后弹出窗口自动关闭 注意:在新的tan.htm的body中要加 <onLoad= "closeit() "> head <script language= "JavaScript "> <!-- var gt = unescape( '%3e '); var popup = null; var over = "Launch Pop-up Navigator "; popup = window.open( ' ', 'popupnav ', 'width=225,height=235,resizable=1,scrollbars=auto '); if (popup != null) { if (popup.opener == null) { popup.opener = self; } popup.location.href = 'tan.htm '; } // --> </script> <body> 注意:这段代码是在新建文件中的 <script language= "JavaScript "> function closeit() </script> 这个可不是 <iframe> (引用)呀。是直接调用的。以下代码加入 <body> 区域 <object type= "text/x-scriptlet " width= "800 " height= "1000 " data= "../index.htm "> </object>原文出处: 分享常用的40个网站制作技巧
2024年03月28日
71 阅读
0 评论
0 点赞
1
...
3
4
5
6