07

使用JS改变a标签中的href链接与图片src链接方法

一、原生JS直接改变a标签链接与图片src链接(JS一定要在欲改变的源码之后加载)

原始图片是tulip.jpg,改变后的图片myimg.jpg。
a标签改变后的链接是http://mrdede.com/

二、引入jQuery方法改变a标签链接与图片src链接(应该是任意jQuery版本都可以,JS一定要在欲改变的源码之后加载)

原始图片是tulip.jpg,改变后的图片myimg.jpg
a标签改变后的链接是http://mrdede.com/
原始文本是“织梦先生”,改变后文本是“百度”
其中加了判断,当前可使用屏幕宽度小于768时,改变图片链接、a标签链接和文本内容。

25

织梦图集模型增加数据类型为“HTML文本”的自定义字段 发布着色内容出错

织梦二次开发,一是让系统更适合自己,为我所用;二是没有绝对完美的东西,修改它的BUG。

织梦图集模型增加数据类型为“HTML文本”的自定义字段 发布着色内容出错,表面上看是这样的,但实现上是在打开修改图集内容页时的返回值出错,再准确一点说,是HTML文本在修改查看时被过滤了一次而出错(把原来的<span style…替换成了<span x=”">yle…)。

dede_addonimages数据表中是正确的

dede_addonimages数据表中是正确的

20150625035610 20150625035643

因为在发布完图集内容后,我查看数据表dede_addonimages数据内容,是正常并正确的。所以问题就不是出在发布的环节,也没必要研究/dede/album_add.php这个文件了(之前我走了弯路)。

(到这一步之前也走了一些弯路)那么现在就来研究/dede/album_edit.php这个文件,发现是$addRow=XSSClean($addRow);这句在作怪,注释掉,OK!

20150625041905

整个56行$arcRow=XSSClean($arcRow);$addRow=XSSClean($addRow);都可以注释掉。之所以说这行都可以注释掉是因为在文章模型的修改文档文件(/dede/archives_edit.php)中就没有这各方法过滤,根本就没有出现XSSClean()方法。

其它,那个过滤规则最终是指向\include\helpers\filter.helper.php的RemoveXSS方法的,没去细研究。

天亮了,睡了……

24

HTML5+JavaScript实现仿微信摇一摇效果

在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态、加速度等数据(另还有deviceOrientation事件提供了设备角度、朝向等信息)。

而通过DeviceMotion对设备运动状态的判断,则可以帮助我们在网页上就实现“摇一摇”的交互效果。

事件监听

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo.html

把监听事件绑定给 deviceMotionHandler

获取设备加速度信息 accelerationIncludingGravity

将加速度信息打印置页面,通过演示地址可以看到随着设备的移动,屏幕上数字的变化。

 

摇晃判断

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo_1.html

“摇一摇”的动作既“一定时间内设备了一定距离”,因此通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,即可进行设备是否有进行晃动的判断。而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。

100毫秒进行一次位置判断,若前后x, y, z间的差值的绝对值和时间比率超过了预设的阈值,则判断设备进行了摇晃操作。

 

然后通过上面2个演示,然后再增加点样式效果,即可模拟一个简单的微信摇一摇界面。

应用演示:简易模拟微信摇一摇

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo_2.html

21

使用itemindex或autoindex实现织梦频道页、列表页显示文章顺序编号

使用织梦内容管理系统建站,想在频道页或列表面显示文章顺序号、隔行变色、每五行一个小区块儿等等效果,这个功能就要大显伸手了。之前我也总结过一些关于织梦标签的调用方法手册,可以直接做为工具页来直接复制。

列表页使用方法:

织梦列表页隔行换色(可以通过写the和that两类的样式来实现不同背景色):

可以使用在dede:arclist和dede:list下,使用的织梦列表页另一种方法(显示自然顺序标号):

频道页使用方法:

大体意思就是这样,至于加在什么位置,就自己选吧!

织梦默认的搜索页不支持autoindex标签,需要修改核心文件增加支持:

找到文件:include/arc.searchview.class.php

第一处:

第二处:

20

dedeCMS数据库操作类中$dsql的使用方法与实例

dedecms二次开发中对数据库操作类的使用尤为重要,下面是对数据库操作类的一些简单说明和实例。

引入common.inc.php文件

查询某表是否存在,存在返回TRUE,否则返回FALSE

获取一条记录的内容

将查询获取总数输出

将查询的若干条记录输出

将查询的若干条记录输出dedecms5

插入一条记录

经实践证明,上面的语句不能正常插入数据库,下面是正确的语句

删除一条记录

更新一条记录

判断获取数据库内容的常用方法

获取总数

关闭数据库

实例 Continue reading

17

织梦5.7使用图片集模型上传图片弹出框显示302不能上传图片

织梦5.7在栏目使用图片集模型时,后台单张上传或多张同时上传,会出现302,并且上传图片失败。

解决方案:

织梦程序根目录/include/userlogin.class.php
session();的上面增加以下几行即可(如下图):

织梦上传图片弹出302

代码如下,复制粘贴即可:

注意:在编辑代码时使用专业代码工具,不要使用记事本工具,防止出错!

15

本地win7下使用phpStudy集成环境配置IIS7+PHP+phpMyAdmin+MySQL(20151102更新)

错误提示信息:
install/remove of the service denied
#2002 无法登录 MySQL 服务器
错误1053 服务没有及时响应启动或控制请求

弄了一宿,真的很难很难呀!转着很大的圈儿,疯了疯了!

前些年一直在用wamp,操作简单,本地调试单个网站足够用了。从今年年初开始使用了phpStudy集成环境,PHP版本多,用着还不错。

最近帮人改一个asp源码样式,需要本地测试,结果安装上了IIS。可昨天闲着没事,实然想起这phpStudy也可以把IIS与PHP集成的功能,弄上了是一个问题接着一个问题,自己还不想放弃。

系统:wid7 IIS7.x 买好几年了,配置过时了但还不舍。
环境:phpStudy集成环境(2014版集合24种环境自由选择)

win7下安装IIS是傻瓜式安装,网上方法多的是,就不说了,我也没碰到问题;

配置PHP模块:

手动配置cgi模式(php5.4/5.3)
1.创建并配置php.ini,同上2。
2.打开IIS7,在主面板中双击处理程序映射,然后在右侧菜单中点击“添加模块映射…”(之前我就添加错了,添加的脚本映射),设置如下:
请求路径:*.php;
模块:FastCgiModule;
可执行文件:php文件夹中的php-cgi.exe;
名称:php;
3.完成!
(还有其它方法,但我认为这是最方便的)
建立站点,在根目录新建info.php测试文件,内容为<?php phpinfo(); ?>,测试是否成功。

配置MySQL:

将MySQL 添加到服务中。
在C:\Windows\System32\文件夹下找到cmd.exe,右键单击cmd.exe, 选择“以管理员身份运行”(或“Run as administrator”),窗体左上角显示“管理员:C:\…”,进入路径(这是我的路径,你的路径我就不知道了,哈哈): d:\tool\phpStudy\mysql\bin>
输入 mysqld –install MySQL –defaults-file=”C:\Windows\my.ini”
如果提示:Service successfully installed.
说明MySQL服务已经添加系统服务成功。
如果提示:install/remove of the service denied
可能是你没有使用管理员身份运行cmd.exe

***************************************

2015 年11月,由于本人笔记本用得比较狠,前几天突然卡死(蓝屏),提示是硬盘出现问题,但是用DELL自身的硬件检测,并没有发现任何问题,可是由于数据很 重要,而且之前在使用中也时不时的出现“无响应”现象,所以果断决定换个固态硬盘太小的真的没意义呀,还不如多花点钱买个差不多的,所以在某宝上买了个镁 光480G的,不是最贵最好的,但是从各方面看,适合我,1000元、存储空间正好。

换了硬盘就得重做系统,硬盘来的时候是让老板给做得系统,windows10,还怕我电脑带不了呢,回来接上试用还可以,各方面都没有不兼容的现象发生,这点很满意。

新系统,我这配置本地测试环境得折腾个把月的,才能完全的配置好,并且适应在新环境下的工作。

使用集成环境相对的好配置一些,使用phpStudy很长时间了,直到刚才才知道phpStudy有集成的IIS+MySQL环境,但是晚了,而且想想,如果不用集成的IIS还是不用得好。

这次到了把MySQL服务配来系统服务这步卡住了(1067错误),合着是卡了有两天了。反正到现在是弄好了,具体是什么原因、怎么弄好的,我也说不清。

昨天安装完MySQL服务后不好使,我也再删再安了几次,都没有好。今天只是把昨天安装的windows功能给删除重新安了一次后,删除MySQL服务后,又安装MySQL服务,就好了。

还忘说了些事,也可能是很重要的,我今天把my.ini文件放到c:\windows\目录下了,所有有很多文章和方法,但是都没有说这一点,也不知道是用不着呀?还是都是照一个人抄的。切记切记!!!

还是以管理员身份打开cmd.exe,目录到d:\tool\phpStudy\mysql\bin>

删除MySQL到系统服务中的方法:mysqld -remove

安装MySQL到系统服务中的方法:mysqld -install

***************************************

cmd的一些命令(不区分大小写):
输入 d: 按回车,直接进入D盘;
输入 cd tool\phpStudy\mysql\bin 按回车,进入bin文件夹;
输入 cd\ 按回车,返回根目录,如D盘或C盘;
输入 cd.. 按回车,返回上一级目录;
输入 dir 按回车,显示当前文件夹内的文件夹和文件名。
(这些cmd命令够用了)

配置phpMyAdmin:

由 于phpStudy的IIS7/8+PHP5xx的phpMyAdmin的默认链接是http://localhost:8980/phpmyadmin /index.php,所以现在在IIS中建立站点,端口是8980,路径为D:\tool\phpStudy\WWW\。
要注意的是一定要把WWW做为些站点的根目录,phpmyadmin为站点的一级目录。

说到这里,如果正常的话,就已经配置成功了。

说说我的一些错误:

(这 里是错误的方法)由于phpStudy的phpMyAdmin是在网站内部的,我就想着这回可以在IIS中给他单独建立站点(端口设置8080)就可以访 问了,于是乎错误就此开始了,倒是可以访问到http://localhost:8080/index.php,登录不进去,提示“#2002 无法登录 MySQL 服务器”,想一想,后来到网上搜了搜,发现是没有启动MySQL服务。

在配置MySQL时,最初我是没有用管理员身份打开cmd.php,我是直接在运行中输入cmd后进入的cmd窗体,可能是这个原因。在启动MySQL时报错:错误1053 服务没有及时响应启动或控制请求。

转 回头使用链接http://localhost:8080/index.php,还是无法连接MySQL,又是一阵搜,没什么好的结果。就想着在 phpStudy的配置项中找找原因,无意间点了下“MySQL管理器”,发现他的链接是http://localhost:8980 /phpmyadmin/index.php,我都蒙了,以为是我在IIS中建立站点的端口号怎么给写成8980了呢,查看一下,是8080,又一想是不 是之前使用Apache时建立的根目录站点的端口号是8980,查看几个,发现在没有。这下放心了,我可以直接在IIS中改端口号和路径,理论上通过了, 实际一改,成功了!!!

13

JavaScript常用函数收集

脑袋不好使就多记笔记,收集了一些比较常用的javascript函数,以备急用。

字符串长度截取

替换全部

清除空格

清除左空格/右空格

判断是否以某个字符串开头

判断是否以某个字符串结束

转义html标签

时间日期格式转换

判断是否为数字类型

设置cookie值

获取cookie值

加入收藏夹

设为首页

加载样式文件

返回脚本内容

清除脚本内容

Continue reading

10

jQuery DOM 元素方法index()方法获取值为-1,得不到正确的值

$(selector).index()获得第一个匹配元素相对于其同胞元素的 index 位置

不懂装懂,帮朋友修改一个JS效果(点击后不显示同胞元素),JQ方法功能也是现查的手册,测试index()返回值是-1,这一定是不正确了。

结果就是一阵的百度搜索,在开源中国的一篇文章中得到了启发:

$(".newsList dd").eq($(".newsTab dd.hover").index()).show();
修改为
$(".newsList dd").eq($(".newsTab dd").index($(".hover"))).show();

解释:

$(“.newsTab dd”)表示找到newsTab类下的所有的dd,返回一个dd的数组的对象;

后面的.index($(“.hover”))表示返回数组对象中的class为hover的对象的坐标。

29

include、include_once与require函数区别

三个函数有相同又有不同,相同点是都可以包含文件,不同点看以下分析。

include "function.inc.php";
include_once "function.inc.php";
require "function.inc.php";

include()

如果被包含内容有问题或不存在,系统则产生一个警告(系统跳过错误,执行以下内容)。

include_once()

比include()功能强,多了一次判断被包含是否被包含过,如果使用include_once()包含多次则执行一次。

require()

如果被包含内容有问题或不存在,系统则产生一个致命的错误(系统崩溃停止)。

比较:

include_once()比include()功能强,功能越强就越多一些算法,效率就没有include()高,所以如果不是绝对必要使用include_once()时,则使用include()。

include()与require():include()根据情况择机去包含文件时使用,也就是说如果被包含文件不存在也不会对脚本的以下执行造成多大的影响;require()固定包含文件时使用,也就是说如果被包含文件不存在则以下程序无法正常运行时,使用require()。