由于安全方面的考虑,
Javascript
被限制了跨域访问的
能力,但是有时候我们希望能够做一些合理的跨域访问的事情,那么怎么办呢?
这里分两类情况:
一、基于同一父域的子域之间页面的访问
参见如下
3
个
domain
域:
1
、
taobao.com
2
、
jipiao.taobao.com
3
、
promotion.taobao.com
它们有相同的父域
taobao.com
二、基于不同父域页面之间的访问
参见如下
3
个
domain
域:
1
、
taobao.com
2
、
baidu.com
3
、
sina.com.cn
& ......
首先设置IE, 依次选择 工具-> Internet 选项-> 高级, 找到 浏览 下的两个禁用脚本调试复选框, 将其取消选择(IE默认将这两项选中, 不能进行脚本调试),
1. 调试JS脚本文件(*.js文件)
直接在JS文件中F9设置断点, F5运行调试即可.
2. 调试页面文件中脚本(*.aspx中JS脚本)
VS 2005默认不能在*.aspx中设置断点, 更何况进行JS断点跟踪调试. 调试解决办法:
a. 在VS 2005中把要调试的页面"设为起始页" , 再按Ctrl+F5运行.
b. 在打开的浏览器中, 选择: 查看-> 脚本调试程序, 选 打开 项
c. 选择Open后, 会弹出如下实时调试器窗口
选择 "新实例 Visual Studio 2005", 点(Y)按钮, 会自动弹出一个VS调试器, 并且打开刚才的*.aspx文件,
ok, 在这个自动打开*.aspx的VS 窗口中就可以[设置断点], 进行调试了.
3. 有时候比如环境故障, 始终不能调试; 在需要调试的JS脚本处加: debugger; 则一定可以调试. ......
我想使用过ajax的都常见这样的代码:
<a href="javascript:doTest2();void(0);">here</a>
但这儿的void(0)究竟是何含义呢?
Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。 (实现版本 Navigator 3.0 )
你以使用 void 操作符指定超级链接。表达式会被计算但是不会当前文档处装入任何内容。
下面的代码创建了一个超级链接,当用户以后不会发生任何事。当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。
<A HREF="javascript:void(0)">单此处什么也不会发生</A>
下面的代码创建了一个超级链接,用户单时会提交表单。
<A HREF="javascript:void(document.form.submit())">
单此处提交表单</A>
a href=#与 a href=javascript:void(0) 的区别 链接的几种办法
#包含了一个位置信息
默认的锚是#top 也就是网页的上端
而javascript:void(0) ......
JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功,这门有趣的语言蕴藏着许多不为人熟知的东西,即使多年的 JavaScript 程序员,也未能完全吃透。本文从7个方面讲述 JavaScript 中那些你不很熟知但非常实用的技巧。
简略语句
JavaScript 可以使用简略语句快速创建对象和数组,比如下面的代码:
var car = new Object();
car.colour = 'red';
car.wheels = 4;
car.hubcaps = 'spinning';
car.age=4;
可以使用简略语句如下:
var car = {
colour:'red',
wheels:4,
hubcaps:'spinning',
age:4
}
对象 car 就此创建,不过需要特别注意,结束花括号前一定不要加 ";" 否则在 IE 会遇到很大麻烦。
创建数组的传统方法是:
var moviesThatNeedBetterWriters = new Array(
'Transformers','Transformers2','Avatar','Indiana Jones 4'
);
使用简略语句则:
var moviesThatNeedBetterWriters = [
'Transformers','Transformers2','Avatar','Indiana Jones 4'
];
另一个可以使用简略语句的地方是条件判断语句:
var direction;
if(x < 200){
direction = 1;
} else {
direction = - ......
function RegExpTest(){
var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion());
alert("version=="+ver);
if (ver >= 5.5){ // 测试 JScript 的版本。
var src = "The rain in Spain falls mainly in the plain.";
var re = /\w+/g; // 创建正则表达式模式。
var arr;
while ((arr = re.exec(src)) != null)
document.write(arr.index + "-" + arr.lastIndex + "\t" + arr);
}
else{
alert("请使用 JScript 的更新版本");
}
}
RegExpTest(); ......
var vKeyCode= e.getKeyCode();
if (vKeyCode >= 65 && vKeyCode <= 90 ) // Caps Lock 打开
{
l_pw_capslock.setDisplay(true);
}
else l_pw_capslock.setDisplay(false);
注:l_pw_capslock是显示的提示信息的内容,本项目中为:
var l_pw_capslock = new QxAtom("提示:大小写键被按下,请注意大小写!");
with(l_pw_capslock)
{
setLocation(350, 310);
setColor("#1E90FF");
getLabelObject().setFont("14");
setDi ......