模拟个UC的原因是,有些网站,指明要UC浏览器,所以对于我们Chrome来讲,其实也能模仿UC,目的达到也就OK了,
如下:
苹果按Option+Command,Windows按下F12,在Elements的右边有一个竖着的三个点,点一下,里面有一个项是把这个挑食工具放浏览器的左边还是右边,
在下面还有一个项是Settings 点进去后,下面有一个Device,输入自己的浏览器UC,然后,再在网上找一个它对应的浏览器头,它前面有一个CheckBox,勾选上,其它的不勾选即可。再打开你想要看的网站,就Ok了。
IOS UC:
Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/14B100 UCBrowser/11.2.6.887 Mobile AliApp(TUnionSDK/0.1.6)
Android UC:
Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.122 Mobile Safari/537.36 UCBrowser
最后,要想模拟生效得F12后,进入开发者模拟点模拟的那个图标才行。
参考自https://jingyan.baidu.com/article/46650658235a46f549e5f893.html,但是新版本的Chrome不一样,如下:
来自:http://www.173.net/blogs/5
Chrome dhc插件-DHC是一款可以模拟HTTP客户端向服务器发送指定数据的谷歌浏览器插件。
http://chromecj.com/web-development/2015-08/549.html
======================================================================
有些网站对IPAD和PC产生不同的HTML代码
由于IPAD的safari不支持查看源码,
所以,将firefox模拟成IPAD可以更好的了解别人写的代码
在firefox地址栏打上 about:config
进入config设置
将general.useragent.extra.firefox
修改成Mozilla/5.0 (iPad; U; CPU OS 3_2_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B500 Safari/531.21.10
这样就欺骗了某些用useragent判断客户端的服务器
查看一些为HTML5写的代码了。
测试一下,连新浪博客都认为我是在用ipad上网。
阅读全文
如下:
苹果按Option+Command,Windows按下F12,在Elements的右边有一个竖着的三个点,点一下,里面有一个项是把这个挑食工具放浏览器的左边还是右边,
在下面还有一个项是Settings 点进去后,下面有一个Device,输入自己的浏览器UC,然后,再在网上找一个它对应的浏览器头,它前面有一个CheckBox,勾选上,其它的不勾选即可。再打开你想要看的网站,就Ok了。
IOS UC:
Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/14B100 UCBrowser/11.2.6.887 Mobile AliApp(TUnionSDK/0.1.6)
Android UC:
Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.122 Mobile Safari/537.36 UCBrowser
最后,要想模拟生效得F12后,进入开发者模拟点模拟的那个图标才行。
参考自https://jingyan.baidu.com/article/46650658235a46f549e5f893.html,但是新版本的Chrome不一样,如下:
来自:http://www.173.net/blogs/5
Chrome dhc插件-DHC是一款可以模拟HTTP客户端向服务器发送指定数据的谷歌浏览器插件。
http://chromecj.com/web-development/2015-08/549.html
======================================================================
有些网站对IPAD和PC产生不同的HTML代码
由于IPAD的safari不支持查看源码,
所以,将firefox模拟成IPAD可以更好的了解别人写的代码
在firefox地址栏打上 about:config
进入config设置
将general.useragent.extra.firefox
修改成Mozilla/5.0 (iPad; U; CPU OS 3_2_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B500 Safari/531.21.10
这样就欺骗了某些用useragent判断客户端的服务器
查看一些为HTML5写的代码了。
测试一下,连新浪博客都认为我是在用ipad上网。
阅读全文
php 获取拼音首字母的函数
Php/Js/Shell/Go jackxiang 2013-3-13 10:57
http://levi.cg.am/?p=930
http://www.mb5u.com/biancheng/php/php_94026.html
http://www.phper.org.cn/?post=64
http://hi.baidu.com/seatle888/item/db73f4db0a084919d78ed099
http://justcoding.iteye.com/blog/602494
http://www.mb5u.com/biancheng/php/php_94026.html
http://www.phper.org.cn/?post=64
http://hi.baidu.com/seatle888/item/db73f4db0a084919d78ed099
http://justcoding.iteye.com/blog/602494
Linux下判断是sas硬盘还是SATA
Unix/LinuxC技术 jackxiang 2013-3-12 17:12
背景:两种盘的读写速度不一样,于是要看一下到底是哪种:
df -h
有sas硬盘吗 ?还是SATA啊?
linux下SATA硬盘是 hda , SCSI硬盘是sda
df -h
有sas硬盘吗 ?还是SATA啊?
linux下SATA硬盘是 hda , SCSI硬盘是sda
背景:php做cli模式(也就是后台终端运行时),通过ps aux|grep php时出现的都是如php的文件名的进程,于是在php5.5里加入了类似windows'下的服务名来进行标识。
PHP5.5新增cli_set_process_title/cli_get_process_title, 这样一来, 大家可以给后台运行脚本起一个有意义的名字了. https://wiki.php.net/rfc/cli_process_title
PHP5.5新增cli_set_process_title/cli_get_process_title, 这样一来, 大家可以给后台运行脚本起一个有意义的名字了. https://wiki.php.net/rfc/cli_process_title
雨林木风系统Ghost:IE QuickLanch
C:\Documents and Settings\Default User\Application Data\Microsoft\Internet Explorer\Quick Launch
C:\Documents and Settings\Administrator\Application Data\Microsoft\Internet Explorer\Quick Launch
都有:启动 Internet Explorer 浏览器.lnk
右键属性:
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" http://www.24611.com
于是修改去掉;24611这个网址。发现有程序在访问,但用;wholockme来看没有。
操作:常规属性去掉只读,同时去掉这个网址即可。
C:\Documents and Settings\Default User\Application Data\Microsoft\Internet Explorer\Quick Launch
C:\Documents and Settings\Administrator\Application Data\Microsoft\Internet Explorer\Quick Launch
都有:启动 Internet Explorer 浏览器.lnk
右键属性:
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" http://www.24611.com
于是修改去掉;24611这个网址。发现有程序在访问,但用;wholockme来看没有。
操作:常规属性去掉只读,同时去掉这个网址即可。
PHP面向切面编程,热部署真是个银弹?
Php/Js/Shell/Go jackxiang 2013-3-9 12:12
[易*]韩天峰(*********) 17:34:07
http://pecl.php.net/package/event
event扩展
[易*]韩天峰(*********) 17:51:42
http://pecl.php.net/package/AOP
PHP AOP编程扩展
twinhuang-广平(*********) 17:56:11
aop还是挺不错的,可以做很多有趣的事
Jack-回忆未来(*********) 17:57:50
AOP是什么意思?
面向切面编程
maxiezhang-qz***(*********) 17:58:37
是指不改变原来程序结构,可以强势插入代码么?
令狐雨辰(*********) 2013/3/8 下午 18:22:15
https://github.com/AOP-PHP/AOP
就刚讨论的这个呀
PHP-干不明白(*********) 2013/3/8 下午 18:22:33
o
Sango(*********) 2013/3/8 下午 18:22:49
热部署真是个银弹啊
令狐雨辰(*********) 2013/3/8 下午 18:25:08
这个现在还有些BUG
https://github.com/AOP-PHP/AOP/issues
等个稳定版,直接用上。
Rango(*********) 2013/3/8 下午 18:25:15
统计执行时间也可以用AOP,before前记录一个时间,after再记录一个
令狐雨辰(*********) 2013/3/8 下午 18:25:50
嗯是的。总之确实是很有用。
Sango(*********) 2013/3/8 下午 18:22:00
在php热部署的能力下,加上xdebug,这玩意要逆天了
http://pecl.php.net/package/event
event扩展
[易*]韩天峰(*********) 17:51:42
http://pecl.php.net/package/AOP
PHP AOP编程扩展
twinhuang-广平(*********) 17:56:11
aop还是挺不错的,可以做很多有趣的事
Jack-回忆未来(*********) 17:57:50
AOP是什么意思?
面向切面编程
maxiezhang-qz***(*********) 17:58:37
是指不改变原来程序结构,可以强势插入代码么?
令狐雨辰(*********) 2013/3/8 下午 18:22:15
https://github.com/AOP-PHP/AOP
就刚讨论的这个呀
PHP-干不明白(*********) 2013/3/8 下午 18:22:33
o
Sango(*********) 2013/3/8 下午 18:22:49
热部署真是个银弹啊
令狐雨辰(*********) 2013/3/8 下午 18:25:08
这个现在还有些BUG
https://github.com/AOP-PHP/AOP/issues
等个稳定版,直接用上。
Rango(*********) 2013/3/8 下午 18:25:15
统计执行时间也可以用AOP,before前记录一个时间,after再记录一个
令狐雨辰(*********) 2013/3/8 下午 18:25:50
嗯是的。总之确实是很有用。
Sango(*********) 2013/3/8 下午 18:22:00
在php热部署的能力下,加上xdebug,这玩意要逆天了
越来越感到由软件吞噬的世界即将发生为硬件的复兴,今年将会是这两个世界错综相映的一个端倪。硬件通过各种各样的传感器来感知环境,深受设计师、艺术家,更多的是爱好者的喜爱于追捧,而赏心的细腻感知和愉悦的操控感应将是未来的主流,即将有一两款上述趋势产品被开发出来挑战屏幕和声音等触碰产品。 2013-03-06 Jackxiang
http://www.arch.nctu.edu.tw/works/thesis/2005/sss.pdf
http://www.arch.nctu.edu.tw/works/thesis/2005/sss.pdf
前些天项目碰到这个问题,在ie下可以直接调用iframe里的js函数
如:
document.getElementById('iframedemo').targetfunction();
但是这段代码在firefox下报错,于是上google搜索,发现一个解决办法,在ie和firefox
下均工作正常,代码如下:
document.getElementById('iframedemo').contentWindow.demofunction();
其中iframedemo是iframe的id
来自:http://www.cnblogs.com/lovelace821/archive/2009/08/03/1537777.html
补充:
contentWindow属性是指指定的frame或者iframe所在的window对象
在IE中iframe或者frame的contentWindow属性可以省略,但在Firefox中如果要对iframe对象进行编辑则
必须指定contentWindow属性。
主要知识点
1:document.getElementById("ii").contentWindow 得到iframe对象后,就可以通过contentWindow得到iframe包含页面的window对象,然后就可以正常访问页面元素了;
2:$("#ii")[0].contentWindow 如果用jquery选择器获得iframe,需要加一个【0】;
3:$("#ii")[0].contentWindow.$("#dd").val() 可以在得到iframe的window对象后接着使用jquery选择器进行页面操作;
4:$("#ii")[0].contentWindow.hellobaby="dsafdsafsdafsdafsdafsdafsadfsadfsdafsadfdsaffdsaaaaaaaaaaaaa"; 可以通过这种方式向iframe页面传递参数,在iframe页面window.hellobaby就可以获取到值,hellobaby是自定义的变量;
5:在iframe页面通过parent可以获得主页面的window,接着就可以正常访问父亲页面的元素了;
6:parent.$("#ii")[0].contentWindow.ff; 同级iframe页面之间调用,需要先得到父亲的window,然后调用同级的iframe得到window进行操作;
来自:http://bakcom.iteye.com/blog/1757449
找了一篇文章的实践情况如下:
实践内容来自:http://bakcom.iteye.com/blog/1757449
main.html
frame.htm
newFrame.htm:
如:
document.getElementById('iframedemo').targetfunction();
但是这段代码在firefox下报错,于是上google搜索,发现一个解决办法,在ie和firefox
下均工作正常,代码如下:
document.getElementById('iframedemo').contentWindow.demofunction();
其中iframedemo是iframe的id
来自:http://www.cnblogs.com/lovelace821/archive/2009/08/03/1537777.html
补充:
contentWindow属性是指指定的frame或者iframe所在的window对象
在IE中iframe或者frame的contentWindow属性可以省略,但在Firefox中如果要对iframe对象进行编辑则
必须指定contentWindow属性。
主要知识点
1:document.getElementById("ii").contentWindow 得到iframe对象后,就可以通过contentWindow得到iframe包含页面的window对象,然后就可以正常访问页面元素了;
2:$("#ii")[0].contentWindow 如果用jquery选择器获得iframe,需要加一个【0】;
3:$("#ii")[0].contentWindow.$("#dd").val() 可以在得到iframe的window对象后接着使用jquery选择器进行页面操作;
4:$("#ii")[0].contentWindow.hellobaby="dsafdsafsdafsdafsdafsdafsadfsadfsdafsadfdsaffdsaaaaaaaaaaaaa"; 可以通过这种方式向iframe页面传递参数,在iframe页面window.hellobaby就可以获取到值,hellobaby是自定义的变量;
5:在iframe页面通过parent可以获得主页面的window,接着就可以正常访问父亲页面的元素了;
6:parent.$("#ii")[0].contentWindow.ff; 同级iframe页面之间调用,需要先得到父亲的window,然后调用同级的iframe得到window进行操作;
来自:http://bakcom.iteye.com/blog/1757449
找了一篇文章的实践情况如下:
实践内容来自:http://bakcom.iteye.com/blog/1757449
main.html
frame.htm
newFrame.htm:
背景:
问题是发现有些浏览器发现flash没有发出get请求,后来修改为直接用浏览器去触发事件调用flash里的函数,哇哈哈。(Flash判断浏览器窗口关闭函数可能有问题)
问题:1)有没有一种工具实现所有浏览器的http协议请求?
2)浏览器里的Flash怎么实现抓Flash如get/post/socket 请问用什么工具?
用浏览器连接一个flash做的网游,在navigator事件中可以抓到页面的post,get请求的url。但是里面flash所发出的post,get无法抓到,有什么办法可以抓到吗?用httpwatch是可以抓到的。我想在程序中抓到。
回答:
1)Fiddler是最强大最好用的Web调试工具,用它可以满足你的要求。
2)HttpAnalyzer+V7.0.1+破解,你要有钱购买一下可以抓所有浏览器下的请求。我试了下chrome也行。
如果仅仅是get:试了下用httplook可以对IE,Firefox进行抓,也能看到,其实IE下的httpwatcher和Firefox下的firebug都能看到,chrome下用httplook看好像没有东西。
问题是发现有些浏览器发现flash没有发出get请求,后来修改为直接用浏览器去触发事件调用flash里的函数,哇哈哈。(Flash判断浏览器窗口关闭函数可能有问题)
问题:1)有没有一种工具实现所有浏览器的http协议请求?
2)浏览器里的Flash怎么实现抓Flash如get/post/socket 请问用什么工具?
用浏览器连接一个flash做的网游,在navigator事件中可以抓到页面的post,get请求的url。但是里面flash所发出的post,get无法抓到,有什么办法可以抓到吗?用httpwatch是可以抓到的。我想在程序中抓到。
回答:
1)Fiddler是最强大最好用的Web调试工具,用它可以满足你的要求。
2)HttpAnalyzer+V7.0.1+破解,你要有钱购买一下可以抓所有浏览器下的请求。我试了下chrome也行。
如果仅仅是get:试了下用httplook可以对IE,Firefox进行抓,也能看到,其实IE下的httpwatcher和Firefox下的firebug都能看到,chrome下用httplook看好像没有东西。
它是个好帮手,但真正要想看清Flash里的返回,还是得fiddle:
Http能捕获IE,Firefox,Chrome浏览器,用它来看是不错的选择,有时调试Flash的get/post问题时有效使用该工具是不错的选择。[它还可以捕获Flash发起的POST请求喔,这个有点重要。]
HttpLook使用问题解决方案:
httplook是一款很不错的http协议分析工具,在使用过程中,却容易出现以下几种问题:
1. httplook没有拦截。
这属于使用问题,应先打开httplook,并启动拦截,然后再打开ie浏览相关网页即可。
2. IE随着httplook关闭而关闭。
解决办法:取消Capture Settings中的Install https capture module at startup选项。这个选项如果选中还会带来其他系统问题,建议关闭。
3. httplook打开后ie不能上网。
解决办法:这个问题的根本原因就是80端口被占用或者被监控或拦截。1、查看80端口是否被其他程序占着,有则关闭之。2、防火墙是否对80端口关闭。3、杀毒工具(如卡巴)是否监控着80端口,有则删除之。Windows下查看端口使用命令:netstat
做好以上几点,相信你会非常喜欢这个东东。good luck!
来源:http://my.oschina.net/u/251658/blog/68413
HTTPLook 注册码:
HTTPLook是一款http嗅探器,可以给出站点完整图片。HTTPLook可以在本地机合服务器之间重发数据。 Name:crsky Code:79C01-97344-29247-28692-2934I
上面都不行啊,最后下了Ok的:
http://ishare.iask.sina.com.cn/download/explain.php?fileid=4791179
Http能捕获IE,Firefox,Chrome浏览器,用它来看是不错的选择,有时调试Flash的get/post问题时有效使用该工具是不错的选择。[它还可以捕获Flash发起的POST请求喔,这个有点重要。]
HttpLook使用问题解决方案:
httplook是一款很不错的http协议分析工具,在使用过程中,却容易出现以下几种问题:
1. httplook没有拦截。
这属于使用问题,应先打开httplook,并启动拦截,然后再打开ie浏览相关网页即可。
2. IE随着httplook关闭而关闭。
解决办法:取消Capture Settings中的Install https capture module at startup选项。这个选项如果选中还会带来其他系统问题,建议关闭。
3. httplook打开后ie不能上网。
解决办法:这个问题的根本原因就是80端口被占用或者被监控或拦截。1、查看80端口是否被其他程序占着,有则关闭之。2、防火墙是否对80端口关闭。3、杀毒工具(如卡巴)是否监控着80端口,有则删除之。Windows下查看端口使用命令:netstat
做好以上几点,相信你会非常喜欢这个东东。good luck!
来源:http://my.oschina.net/u/251658/blog/68413
HTTPLook 注册码:
HTTPLook是一款http嗅探器,可以给出站点完整图片。HTTPLook可以在本地机合服务器之间重发数据。 Name:crsky Code:79C01-97344-29247-28692-2934I
上面都不行啊,最后下了Ok的:
http://ishare.iask.sina.com.cn/download/explain.php?fileid=4791179
背景:做Flash关闭时做下统计视频的浏览数,想发个请求给服务器+1,Firefox,IE9,(IE8不行)都行,再就是Chrome不行,如下备案。
常常的网上结论是这样的:
1、window.onbeforeunload()函数主要是用于捕获关闭浏览器事件(包括刷新);
2、window.onunload()函数主要是执行关闭游览器后的动作;
实践中听说firefox有些问题:
在footer.html里调用:
在每个访问的页面里包含:
在这个footer.html里包含的是另一个js的域名:(较大网站都这么干,程序和css,js分开以分摊服务器的压力)
在footer.html这个模板里有如下js,分析这个staticURL:
<script src="<{$staticURL}>js/justwinit.common.js?ver=<{$version}>" type="text/javascript"></script>
preview.php 把这个配置给render到smarty模板里:
$this->view->staticURL = KO::config('url.static_url');
url.php里配置该静态文件的域名,这个在apache里配置好,下面会有示例:
'static_url' =>'http://s.jackxiang.com/',
Apache配置域名:
用普通的js无法实现在兼容监听IE,FF,Google等浏览器的关闭事件。 经过测试,用jq是可以实现兼容的,不过并不保证完全兼容,还需要你自己测试一下,只需一句简短的语句就可以至少兼容三大浏览器了:
但:
chrome浏览器支持onbeforeunload事件吗?
Chrome Safari 在调用 document.write、document.open、document.close 方法以及 "javascipt:" 伪协议时,不会触发 onbeforeunload 事件。
http://w3help.org/zh-cn/causes/BX2047
是bug,见http://code.google.com/p/chromium/issues/detail?id=4422
用的时候chrome并不支持onbeforeunload。
window.onbeforeunload=function(){...}不执行其中的代码
$(window).bind('beforeunload', function(){
alert("Good Bye")
});
Works great with Firefox, IE8 but not in Chrome. Is it a known problem or is there any alternative for that ?
Actually what I am trying to do is to log details whenever user tries to close the browser.
function LogTime()
{
jQuery.ajax({
type: "POST",
url: "log.php",
data: "",
cache: false,
success: function(response)
{
}
}
);
}
$(window).bind('beforeunload', function(){
LogTime();
});
This works well in Firefox, but not in Chrome
From:http://stackoverflow.com/questions/10680544/beforeunload-chrome-issue
老外说的Ajax,我也试了,也确实不行的,测试下其他的方法,当写成这样:
window.onbeforeunload = function() {
console.log("Helo test chrome beforeunload");
callExternal();
};
或:
<body onunload="alert('Helo test chrome unload')">
里面有Alert这些输出时,会有如下提示:
Blocked alert('Helo test chrome beforeunload')。
Blocked alert('Helo test chrome unload') during unload。
最后使用Iframe调用的方法:
加入:
<iframe id="iframedemo" name="iframedemo" src="inner.html" width="10%" frameborder="1"></iframe>
inner.html:
<script language="javascript">
function demofunction() {
console.log("1222");
alert("demofunction");
}
</script>
问题依旧提示有问题,嗨,怎么办呢?
在IFrame用Ajax也不行:
阅读全文
常常的网上结论是这样的:
1、window.onbeforeunload()函数主要是用于捕获关闭浏览器事件(包括刷新);
2、window.onunload()函数主要是执行关闭游览器后的动作;
实践中听说firefox有些问题:
在footer.html里调用:
在每个访问的页面里包含:
在这个footer.html里包含的是另一个js的域名:(较大网站都这么干,程序和css,js分开以分摊服务器的压力)
在footer.html这个模板里有如下js,分析这个staticURL:
<script src="<{$staticURL}>js/justwinit.common.js?ver=<{$version}>" type="text/javascript"></script>
preview.php 把这个配置给render到smarty模板里:
$this->view->staticURL = KO::config('url.static_url');
url.php里配置该静态文件的域名,这个在apache里配置好,下面会有示例:
'static_url' =>'http://s.jackxiang.com/',
Apache配置域名:
用普通的js无法实现在兼容监听IE,FF,Google等浏览器的关闭事件。 经过测试,用jq是可以实现兼容的,不过并不保证完全兼容,还需要你自己测试一下,只需一句简短的语句就可以至少兼容三大浏览器了:
但:
chrome浏览器支持onbeforeunload事件吗?
Chrome Safari 在调用 document.write、document.open、document.close 方法以及 "javascipt:" 伪协议时,不会触发 onbeforeunload 事件。
http://w3help.org/zh-cn/causes/BX2047
是bug,见http://code.google.com/p/chromium/issues/detail?id=4422
用的时候chrome并不支持onbeforeunload。
window.onbeforeunload=function(){...}不执行其中的代码
$(window).bind('beforeunload', function(){
alert("Good Bye")
});
Works great with Firefox, IE8 but not in Chrome. Is it a known problem or is there any alternative for that ?
Actually what I am trying to do is to log details whenever user tries to close the browser.
function LogTime()
{
jQuery.ajax({
type: "POST",
url: "log.php",
data: "",
cache: false,
success: function(response)
{
}
}
);
}
$(window).bind('beforeunload', function(){
LogTime();
});
This works well in Firefox, but not in Chrome
From:http://stackoverflow.com/questions/10680544/beforeunload-chrome-issue
老外说的Ajax,我也试了,也确实不行的,测试下其他的方法,当写成这样:
window.onbeforeunload = function() {
console.log("Helo test chrome beforeunload");
callExternal();
};
或:
<body onunload="alert('Helo test chrome unload')">
里面有Alert这些输出时,会有如下提示:
Blocked alert('Helo test chrome beforeunload')。
Blocked alert('Helo test chrome unload') during unload。
最后使用Iframe调用的方法:
加入:
<iframe id="iframedemo" name="iframedemo" src="inner.html" width="10%" frameborder="1"></iframe>
inner.html:
<script language="javascript">
function demofunction() {
console.log("1222");
alert("demofunction");
}
</script>
问题依旧提示有问题,嗨,怎么办呢?
在IFrame用Ajax也不行:
阅读全文
[经常搞忘]相对路径、根路径、绝对路径的区别?
Php/Js/Shell/Go jackxiang 2013-3-4 10:50
背景:一群里的兄弟说在Dreamweaver里能看到图片,但是放在smarty下的网站下就不行。
于是,我初步判断是根目录的图片路径不对造成的,如下CSS样式:
问题:
问大家个事啊,为什么按钮美化,<input name="add_msg_sub" type="button" value="" style="width:38px; height:17px; background-image:url(img/pub_sub.png);"/> dw能看效果的,但是放在smarty下的网站下就不行。
原因:Dw里的页面是根据里面的模板Html的相对路径进行展示(包括浏览器直接打开这个Html页面),一旦引入了php的smarty模板后,访问这个页面是从view.php里进行的,配置如下:
所以,在访问这个模板对应的PHP时,其实就是相对于这个view.php的路径进行配置Html页面了,如上面的:
也是相对这个view.php的路径进行定义这个模板的路径的,为此得出,这个图片的路径之所以没有出现是因为路径不对,图片是放在templates目录下的,而这个同级的目录里有view.php,于是这个图片得加上templates才行,如下:templates/img/pub_sub.png ,这样就Ok了。
对于如果在templates里的最前面加上斜杠的呢?如:templates/img/pub_sub.png ,这样的话有可能会出现问题,如我们的网站没有建立在根目录下的情况会出现下面的问题:
图片路径前面有斜杠(注意:网站localhost的根,不是当前文件作为根。):
background-image:url(/templates/img/pub_sub.png);
访问的是:
http://localhost/templates/img/pub_sub.png
斜线开头表示是从根目录开始。
图片路径前无斜杠(这个就对了):
background-image:url(templates/img/pub_sub.png);
访问的是:
http://localhost/study/templates/img/pub_sub.png
这才是正确的。
备注:一般一个网站的根下面就是应该放上template,下面放图片css等,所以,常常我们也是写成/templates/img/pub_sub.png的居多。
————————————Add Time:2014-07-04————————————————
用css里的图片作为相对路径的办法:
/data/htdocs/ishow_devel_static/css/title_css/green.css
想把这个路径的图给拿展示:
/data/htdocs/ishow_devel_static/css/shouye/titbggreen_140320.jpg
样式如下:
.moduleblack{background:url(../shouye/titbggreen_140320.jpg) repeat-x left top;}
上面使用了相对路径,So,相对路径好,可以任意挪动,都能访问。
———群里的兄弟补课学习———
假设一个文件的url是这样的:
http://xxx.com/index/a.html
在a.html中使用路径引用
/等同于http://xxx.com/ /是web虚拟目录的根
../等同于http://xxx.com/ ../是当前文件的上一级目录
./等同于http://xxx.com/index/ ./是当前文件目录
————————————————————————————
【活跃】[武汉]中庸
假设一个文件的url是这样的:
http://xxx.com/index/a.html
在a.html中使用路径引用
/等同于http://xxx.com/
../等同于http://xxx.com/
./等同于http://xxx.com/index/
【吐槽】[北京]向东-Jack 14/7/4 星期五 下午 05:41:14
中庸的示例挺靠谱的。
【吐槽】[北京]向东-Jack 14/7/4 星期五 下午 05:41:34
那css里的背景图片相对路径是相对调用的html来讲的么?
【活跃】[武汉]中庸
14/7/4 星期五 下午 05:42:00
/是web虚拟目录的根
./是当前文件目录
../是当前文件的上一级目录
理解了这个你自己再慢慢琢磨
[北京]向东-Jack(372647693) 17:41:14
中庸的示例挺靠谱的。
那css里的背景图片相对路径是相对调用的html来讲的么?
不一定,如果css和html同一个文件或者同一个目录,可以这么理解,如果css文件是单独的目录,那么就要以css文件所在的目录为基准
于是,我初步判断是根目录的图片路径不对造成的,如下CSS样式:
问题:
问大家个事啊,为什么按钮美化,<input name="add_msg_sub" type="button" value="" style="width:38px; height:17px; background-image:url(img/pub_sub.png);"/> dw能看效果的,但是放在smarty下的网站下就不行。
原因:Dw里的页面是根据里面的模板Html的相对路径进行展示(包括浏览器直接打开这个Html页面),一旦引入了php的smarty模板后,访问这个页面是从view.php里进行的,配置如下:
所以,在访问这个模板对应的PHP时,其实就是相对于这个view.php的路径进行配置Html页面了,如上面的:
也是相对这个view.php的路径进行定义这个模板的路径的,为此得出,这个图片的路径之所以没有出现是因为路径不对,图片是放在templates目录下的,而这个同级的目录里有view.php,于是这个图片得加上templates才行,如下:templates/img/pub_sub.png ,这样就Ok了。
对于如果在templates里的最前面加上斜杠的呢?如:templates/img/pub_sub.png ,这样的话有可能会出现问题,如我们的网站没有建立在根目录下的情况会出现下面的问题:
图片路径前面有斜杠(注意:网站localhost的根,不是当前文件作为根。):
background-image:url(/templates/img/pub_sub.png);
访问的是:
http://localhost/templates/img/pub_sub.png
斜线开头表示是从根目录开始。
图片路径前无斜杠(这个就对了):
background-image:url(templates/img/pub_sub.png);
访问的是:
http://localhost/study/templates/img/pub_sub.png
这才是正确的。
备注:一般一个网站的根下面就是应该放上template,下面放图片css等,所以,常常我们也是写成/templates/img/pub_sub.png的居多。
————————————Add Time:2014-07-04————————————————
用css里的图片作为相对路径的办法:
/data/htdocs/ishow_devel_static/css/title_css/green.css
想把这个路径的图给拿展示:
/data/htdocs/ishow_devel_static/css/shouye/titbggreen_140320.jpg
样式如下:
.moduleblack{background:url(../shouye/titbggreen_140320.jpg) repeat-x left top;}
上面使用了相对路径,So,相对路径好,可以任意挪动,都能访问。
———群里的兄弟补课学习———
假设一个文件的url是这样的:
http://xxx.com/index/a.html
在a.html中使用路径引用
/等同于http://xxx.com/ /是web虚拟目录的根
../等同于http://xxx.com/ ../是当前文件的上一级目录
./等同于http://xxx.com/index/ ./是当前文件目录
————————————————————————————
【活跃】[武汉]中庸
假设一个文件的url是这样的:
http://xxx.com/index/a.html
在a.html中使用路径引用
/等同于http://xxx.com/
../等同于http://xxx.com/
./等同于http://xxx.com/index/
【吐槽】[北京]向东-Jack 14/7/4 星期五 下午 05:41:14
中庸的示例挺靠谱的。
【吐槽】[北京]向东-Jack 14/7/4 星期五 下午 05:41:34
那css里的背景图片相对路径是相对调用的html来讲的么?
【活跃】[武汉]中庸
14/7/4 星期五 下午 05:42:00
/是web虚拟目录的根
./是当前文件目录
../是当前文件的上一级目录
理解了这个你自己再慢慢琢磨
[北京]向东-Jack(372647693) 17:41:14
中庸的示例挺靠谱的。
那css里的背景图片相对路径是相对调用的html来讲的么?
不一定,如果css和html同一个文件或者同一个目录,可以这么理解,如果css文件是单独的目录,那么就要以css文件所在的目录为基准
背景:一群里兄弟说一css样式问题,我帮他排查,把代码拿过来一看,出现如下:
Fatal error: Unknown: Failed opening required 'D:/wamp/www/study/www - 副本/view.php' (include_path='.;C:\php\pear') in Unknown on line 0
后来把副本的文件夹给去掉就好了,是中文文件夹出现的问题。
php文件和包含php文件的文件夹中文命名导致错误,对于大多数初学php的中国人来说,很容易用含有中文的字符命名php文件或包含php的文件夹
这时我们会的到如上错误提示。
同时,据php官方消息在php6中将支持中文的编码,希望学习php的朋友遇到类似错误时能很快反应过来自己使用的的文件命名可能包含中文哦!
Fatal error: Unknown: Failed opening required 'D:/wamp/www/study/www - 副本/view.php' (include_path='.;C:\php\pear') in Unknown on line 0
后来把副本的文件夹给去掉就好了,是中文文件夹出现的问题。
php文件和包含php文件的文件夹中文命名导致错误,对于大多数初学php的中国人来说,很容易用含有中文的字符命名php文件或包含php的文件夹
这时我们会的到如上错误提示。
同时,据php官方消息在php6中将支持中文的编码,希望学习php的朋友遇到类似错误时能很快反应过来自己使用的的文件命名可能包含中文哦!
PHP中使用APC共享内存
Php/Js/Shell/Go jackxiang 2013-3-1 10:06
这段时间在折腾些PHP中共享内存的方案。
提到PHP共享内存朋友们都说:怎么不用memcache呢?
之所以不用memcache主要有两方面原因:
1、从官方下载的都是源文件需要编译,觉得太麻烦了。
2、在单台服务器的情况下,memcache这种客户端/服务端模式共享内存方案速度较APC这种服务器直接操作内存慢。
Alternative PHP Cache(APC)是 PHP 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。
APC是PECL(PHP Extension Community Library)扩展的一部份,未捆绑在PHP安装文件中。关于APC的安装,网上有很多讲安装配置的文章。
不过我安装时下载地址找了很久,该扩展的官方地址是http://pecl.php.net/package/APC,但这上面提供的都是未编译的文件。粗略看了下,在WIN32上编译PHP源码(查看)。
PECL fro Windows站点(http://pecl4win.php.net/)目前也暂时关闭了,后来发现原来PHP官方的这个页面提供下载编译了的APC。
安装很简单,修改php.ini文件,添加extension=php_apc.dll即可。
折腾了一番,下面是用APC共享内存时经常会用到的函数:
bool apc_add ( string $key , mixed $var [, int $ttl = 0 ] )
添加一组键值到内存中,如果$key已经存在则返回false。变量生存周期$ttl单位为秒。
bool apc_store ( string $key , mixed $var [, int $ttl = 0 ] )
添加一组键值到内存中,如果$key已经存在则覆盖。变量生存周期$ttl单位为秒。
mixed apc_exists ( mixed $keys )
检查内存中是否存在键$keys。
mixed apc_fetch ( mixed $key [, bool &$success ] )
从内存中取出键$key对应的值。
bool apc_delete ( string $key )
从内存中删除键名为$key的值。
更多函数请参考这里:http://cn.php.net/manual/en/book.apc.php
来源:http://i.80tvb.com/php-apc-memory/
提到PHP共享内存朋友们都说:怎么不用memcache呢?
之所以不用memcache主要有两方面原因:
1、从官方下载的都是源文件需要编译,觉得太麻烦了。
2、在单台服务器的情况下,memcache这种客户端/服务端模式共享内存方案速度较APC这种服务器直接操作内存慢。
Alternative PHP Cache(APC)是 PHP 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。
APC是PECL(PHP Extension Community Library)扩展的一部份,未捆绑在PHP安装文件中。关于APC的安装,网上有很多讲安装配置的文章。
不过我安装时下载地址找了很久,该扩展的官方地址是http://pecl.php.net/package/APC,但这上面提供的都是未编译的文件。粗略看了下,在WIN32上编译PHP源码(查看)。
PECL fro Windows站点(http://pecl4win.php.net/)目前也暂时关闭了,后来发现原来PHP官方的这个页面提供下载编译了的APC。
安装很简单,修改php.ini文件,添加extension=php_apc.dll即可。
折腾了一番,下面是用APC共享内存时经常会用到的函数:
bool apc_add ( string $key , mixed $var [, int $ttl = 0 ] )
添加一组键值到内存中,如果$key已经存在则返回false。变量生存周期$ttl单位为秒。
bool apc_store ( string $key , mixed $var [, int $ttl = 0 ] )
添加一组键值到内存中,如果$key已经存在则覆盖。变量生存周期$ttl单位为秒。
mixed apc_exists ( mixed $keys )
检查内存中是否存在键$keys。
mixed apc_fetch ( mixed $key [, bool &$success ] )
从内存中取出键$key对应的值。
bool apc_delete ( string $key )
从内存中删除键名为$key的值。
更多函数请参考这里:http://cn.php.net/manual/en/book.apc.php
来源:http://i.80tvb.com/php-apc-memory/
Vmware6.0怎么去掉每次打开时提示的升级
Unix/LinuxC技术 jackxiang 2013-2-27 17:45
搞个Vmware6.0,有点旧,没办法电脑主板CPU不行,升级高版本有问题,但这都不是问题,每次打开时都提示要升级,怎么办:
平时没有怎么管就点不升级,后来发现在打开Vmware6.0里,选择“编辑”---“参数”---Workspace里有一个software updates下拉里选never,。
平时没有怎么管就点不升级,后来发现在打开Vmware6.0里,选择“编辑”---“参数”---Workspace里有一个software updates下拉里选never,。