Wishlist 0 ¥0.00

Joomla链接始终返回到首页的问题

 使用Joomla建站时,有一个很令人生厌的问题就是某些链接不管怎么点它,始终都会返回到首页;这个问题的另外一个症状就是使用搜索框时,不论搜索什么关键词,搜索结果都是返回到首页。

  非常令人生厌。

  引起这个问题的原因是缺少项目编号(itemid),所以程序返回默认页。

  经过本人多方考察、研究,逛了无数个论坛,苦思瞑想了好几夜,终于发现了解决这个问题的方法,其实说白了非常简单。

  大部分人都会使用SH404SEF组件,在SH404SEF的设置里面有一个选项,位置:

  配置-SH404SEF配置-高级,里面有个选项叫做:如果没有菜单编号,则插入,选择“是”。

  这个选项英文原版是

  configuration>sh404sef configuration>advanced>Insert menu itemid if none

  如果没有使用SH404SEF组件的话也没关系,还有一种解决办法:

  新建一个菜单,任意命名(这个菜单不会出现在前台),然后将出现错误的页面或分类指定到这个菜单;另外在模块管理那边把需要的模块指定gc 有问题的页面上,就可以了。

K2导入的joomla文章在点击文章链接编辑时提示:0 Error decoding JSON data: Syntax Error

K2导入的joomla文章在点击文章链接编辑时提示:0 Error decoding JSON data: Syntax Error。

原因似乎是因为:导入Joomla的文章到 K2后,多余的metadata导致了这个问题。

解决方法清除 k2数据库表 "k2_items"的"metadata"列中多余数据,清除语句如下:

UPDATE `tableprefix_k2_items` SET `metadata` = ''

 注意: 运行该语句会清除全部的metadata值。
 
 
 
 
导入的joomla文章显示下列metadata值:
{"robots":"","author":"","rights":"","xreference":....

 当直接在K2中生产文章metadata值为:
robots=
author=

Chrome开发者工具的小技巧

Chrome的开发者工具是个很强大的东西,相信程序员们都不会陌生,不过有些小功能可能并不为大众所知,所以,写下这篇文章罗列一下可能你所不知道的功能,有的功能可能会比较实用,有的则不一定,也欢迎大家补充交流。话不多话,我们开始。

代码格式化

有很多css/js的代码都会被 minify 掉,你可以点击代码窗口左下角的那个 { } 标签,chrome会帮你给格式化掉。

强制DOM状态

有些HTML的DOM是有状态的,比如 标签,其会有 active,hover, focus,visited这些状态,有时候,我们的CSS会来定关不同状态的样式,在分析网页查看网页上DOM的CSS样式时,我们可以点击CSS样式上的 :hov 这个小按钮来强制这个DOM的状态。

动画

现在的网页上都会有一些动画效果。在Chrome的开发者工具中,通过右上角的菜单中的More Tools => Animations 呼出相关的选项卡。于是你就可以慢动作播放动画了(可以点选 25% 或 10%),然后,Chrome还可以帮你把动画录下来,你可以拉动动再画的过程,甚至可以做一些简单的修改。

直接编辑网页

在你的 console 里 输入下面的命令:

document.designMode = "on"于是你就可以直接修改网页上的内容了。

P.S. 下面这个抓屏中还演示了一个如何清空console的示例。你可以输入 clear() 或是 按Ctrl+L(Windows下),CMD + K (Mac下)

网络限速

你可以设置你的网络的访问速度来模拟一个网络很慢的情况。

复制HTTP请求

这个是我很喜欢 的一个功能,你可以在 network选项卡里,点击 XHR 过滤相关的Ajax请求,然后在相关的请求上点鼠标右键,在菜单中选择: Copy => Copy as cURL,然后就可以到你的命令行下去 执行 curl 的命令了。这个可以很容易做一些自动化的测试。

友情提示:这个操作有可能会把你的个人隐私信息复制出去,比如你个人登录后的cookie。

抓个带手机的图

这个可能有点无聊了,不过我觉得挺有意思的。

在device显示中,先选择一个手机,然后在右上角选 Show Device Frame,然后你就看到手机的样子了,然后再到那个菜中中选 Capture snapshot,就可以抓下一个有手机样子的截图了。

我抓的图如下(当然,不是所有的手机都有frame的)

设置断点

除了给Javascript的源代码上设置断点调试,你还可以:

给DOM设置断点

选中一个DOM,然后在右键菜单中选 Break on … 你可以看到如下三个选项:

给XHR和Event Lisener设置断点

在 Sources 面页中,你可以看到右边的那堆break points中,除了上面我们说的给DOM设置断点,你还可以给XHR和Event Listener设置断点,载图如下:

关于Console中的技巧

DOM操作

chrome会帮你buffer 5个你查看过的DOM对象,你可以直接在Console中用 $0, $1, $2, $3, $4来访问。

你还可以使用像jQuery那样的语法来获得DOM对象,如:$("#mydiv")

你还可使用 $$(".class") 来选择所有满足条件的DOM对象。

你可以使用 getEventListeners($("selector")) 来查看某个DOM对象上的事件(如下图所示)。

你还可以使用 monitorEvents($("selector")) 来监控相关的事件。比如:

monitorEvents(document.body, "click");

Console中的一些函数

1)monitor函数

使用 monitor函数来监控一函数,如下面的示例

2)copy函数

copy函数可以把一个变量的值copy到剪贴板上。

3)inspect函数

inspect函数可以让你控制台跳到你需要查看的对象上。如:

更多的函数请参数官方文档 – Using the Console / Command Line Reference

Console的输出

我们知道,除了console.log之外,还有console.debug,console.info,console.warn,console.error这些不同级别的输出。另外一个鲜为人知的功能是,console.log中,你还可以对输出的文本加上css的样式,如下所示:

console.log("%c左耳朵", "font-size:90px;color:#888")

于是,你可以定义一些相关的log函数,如:

console.todo = function( msg){ console.log( '%c%s %s %s', 'font-size:20px; color:yellow; background-color: blue;', '--', msg, '--'); } console.important = function( msg){ console.log( '%c%s %s %s', 'font-size:20px; color:brown; font-weight: bold; text-decoration: underline;', '--', msg, '--'); }

关于console.log中的格式化,你可以参看如下表格:

指示符 输出

%s 格式化输出一个字符串变量。

%i or %d 格式化输出一个整型变量的值。

%f 格式化输出一个浮点数变量的值。

%o 格式化输出一个DOM对象。

%O 格式化输出一个Javascript对象。

%c 为后面的字符串加上CSS样式

除了console.log打印js的数组,你还可以使用console.table来打印,如下所示:

varpets = [ { animal: 'Horse', name: 'Pony', age: 23}, { animal: 'Dog', name: 'Snoopy', age: 13}, { animal: 'Cat', name: 'Tom', age: 18}, { animal: 'Mouse', name: 'Jerry', age: 12} ]; console.table(pets)

关于console对象

console对象除了上面的打日志的功能,其还有很多功能,比如:

console.trace() 可以打出js的函数调用栈

console.time() 和 console.timeEnd() 可以帮你计算一段代码间消耗的时间。

console.profile() 和 console.profileEnd() 可以让你查看CPU的消耗。

console.count() 可以让你看到相同的日志当前被打印的次数。

console.assert(expression, object) 可以让你assert一个表达式

这些东西都可以看看Google的Console API的文档。

其实,还有很多东西,你可以参看Google的官方文档 – Chrome DevTools

关于快捷键

点击在 DevTools的右上角的那三个坚排的小点,你会看到一个菜单,点选 Shortcuts,你就可以看到所有的快捷键了。

 

 

试试Linux下的ip命令,ifconfig已经过时了

linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。

要安装ip,请点击这里下载iproute2套装工具 。不过,大多数Linux发行版已经预装了iproute2工具。

你也可以使用git命令来下载最新源代码来编译:

$ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/shemminger/iproute2.git

设置和删除Ip地址

要给你的机器设置一个IP地址,可以使用下列ip命令:

$ sudo ip addr add 192.168.0.193/24 dev wlan0

请注意IP地址要有一个后缀,比如/24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是255.255.255.0。

在你按照上述方式设置好IP地址后,需要查看是否已经生效.

$ ip addr show wlan0

你也可以使用相同的方式来删除IP地址,只需用del代替add.

$ sudo ip addr del 192.168.0.193/24 dev wlan0

列出路由表条目

ip命令的路由对象的参数还可以帮助你查看网络中的路由数据,并设置你的路由表。第一个条目是默认的路由条目,你可以随意改动它。

在这个例子中,有几个路由条目。这个结果显示有几个设备通过不同的网络接口连接起来。它们包括WIFI、以太网和一个点对点连接.

$ ip route show

假设现在你有一个IP地址,你需要知道路由包从哪里来。可以使用下面的路由选项(译注:列出了路由所使用的接口等):

$ ip route get 10.42.0.47

更改默认路由

要更改默认路由,使用下面ip命令

$ sudo ip route add default via 192.168.0.196

显示网络统计数据

使用ip命令还可以显示不同网络接口的统计数据。

当你需要获取一个特定网络接口的信息时,在网络接口名字后面添加选项ls即可。使用多个选项-s会给你这个特定接口更详细的信息。特别是在排除网络连接故障时,这会非常有用.

$ ip -s -s link ls p2p1

ARP条目

地址解析协议(ARP)用于将一个IP地址转换成它对应的物理地址,也就是通常所说的MAC地址。使用ip命令的neigh或者neighbour选项,你可以查看接入你所在的局域网的设备的MAC地址.

$ ip neighbour

监控netlink消息

也可以使用ip命令查看netlink消息。monitor选项允许你查看网络设备的状态。比如,所在局域网的一台电脑根据它的状态可以被分类成REACHABLE或者STALE。使用下面的命令:

$ ip monitor all

激活和停止网络接口

你可以使用ip命令的up和down选项来激某个特定的接口,就像ifconfig的用法一样。

在这个例子中,当ppp0接口被激活和在它被停止和再次激活之后,你可以看到相应的路由表条目。这个接口可能是wlan0或者eth0。将ppp0更改为你可用的任意接口即可.

$ sudo ip link set ppp0 down

$ sudo ip link set ppp0 up

获取帮助

当你陷入困境,不知道某一个特定的选项怎么用的时候,你可以使用help选项。man页面并不会提供许多关于如何使用ip选项的信息,因此这里就是获取帮助的地方。

比如,想知道关于route选项更多的信息:

$ ip route help

小结

对于网络管理员们和所有的Linux使用者们,ip命令是必备工具。是时候抛弃ifconfig命令了,特别是当你写脚本时。

看完本文有收获?请分享给更多人。

About Us

Since 1996, our company has been focusing on domain name registration, web hosting, server hosting, website construction, e-commerce and other Internet services, and constantly practicing the concept of "providing enterprise-level solutions and providing personalized service support". As a Dell Authorized Solution Provider, we also provide hardware product solutions associated with the company's services.
 

Contact Us

Address: No. 2, Jingwu Road, Zhengzhou City, Henan Province

Phone: 0086-371-63520088 

QQ:76257322

Website: 800188.com

E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.