`

CSS调用Javascript

阅读更多
我们现在可以使用CSS来调用我们的JS程序。

这个技术也是网络安全里的,叫做CSS跨站。

我们知道CSS里是可以控制某些HTML元素的属性的,譬如background-image等等,而在URL里添加Javascript:alert()等等类似的代码就可以用来执行代码。

我用的CSS代码如下:
<style type="text/css">
body{
height:200px;
background:url(javascript:alert("上帝来了!"));
}

将这段代码随意插入到任何页面中都会执行其中的JS代码.

显然这开启了针对很多对于CSS具备自由编辑功能的很多BSP(BLOG服务提供商)的攻击思路,而对CSS入手的攻击目前作防范的很少.

从另一角度来看,设计系统可以在JS设计时考虑利用CSS进行包含和引用.这是很好的一个从JS控制CSS到CSS控制JS的一个反作用.


而深发出一个看法,具体待验证:凡是可以放URL的地方,均可以试试放javascript,可能就能成功!

关键字:css调用javascript 代码  css调用js代码


CSS中expression使用简介

定义
  IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javas cript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javas cript表达式,CSS属性的值等于Javas cript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。

  给元素固有属性赋值

  例如,你可以依照浏览器的大小来安置一个元素的位置。

#myDiv {
position: absolute;
width: 100px;
height: 100px;
left: expression(document.body.offsetWidth - 110 + "px");
top: expression(document.body.offsetHeight - 110 + "px");
background: red;
}

  给元素自定义属性赋值

  例如,消除页面上的链接虚线框。 通常的做法是:

<a href="link1.htm" onfocus="this.blur()">link1</a>
<a href="link2.htm" onfocus="this.blur()">link2</a>
<a href="link3.htm" onfocus="this.blur()">link3</a> 

  粗看或许还体现不出采用expression的优势,但如果你的页面上有几十甚至上百个链接,这时的你难道还会机械式地Ctrl+C,Ctrl+V么,何况两者一比较,哪个产生的冗余代码更多呢?

  采用expression的做法如下:

<style type="text/css">
a {star : expression(onfocus=this.blur)}
</style>
<a href="link1.htm">link1</a>
<a href="link2.htm">link2</a>
<a href="link3.htm">link3</a> 


  说明:里面的star就是自己任意定义的属性,你可以随自己喜好另外定义,接着包含在expression()里的语句就是JS脚本,在自定义属性与expression之间可别忘了还有一个引号,因为实质还是CSS,所以放在style标签内,而非s cript内。OK,这样就很容易地用一句话实现了页面中的链接虚线框的消除。不过你先别得意,如果触发的特效是CSS的属性变化,那么出来的结果会跟你的本意有差别。例如你想随鼠标的移进移出而改变页面中的文本框颜色更改,你可能想当然的会认为应该写为

<style type="text/css">
input 
{star : expression(onmouseover=this.style.backgroundColor="#FF0000";
onmouseout=this.style.backgroundColor="#FFFFFF")}
</style>
<style type="text/css">
input {star : expression(onmouseover=this.style.backgroundColor="#FF0000";
onmouseout=this.style.backgroundColor="#FFFFFF")}
</style>
<input type="text">
<input type="text">
<input type="text">


  可结果却是出现脚本出错,正确的写法应该把CSS样式的定义写进函数内,如下所示:

<style type="text/css">
input {star : expression(onmouseover=function()
{this.style.backgroundColor="#FF0000"},
onmouseout=function(){this.style.backgroundColor="#FFFFFF"}) }
</style>
<input type="text">
<input type="text">
<input type="text">

  注意

  不是非常需要,一般不建议使用expression,因为expression对浏览器资源要求比较高。
分享到:
评论

相关推荐

    web编程基础-CSS,JavaScript,jQuery

    jQuery的核心功能包括选择器(扩展了CSS选择器)、链式调用、DOM操作(如$(‘元素’).hide()或.append())和插件系统。通过$.ajax()函数,jQuery提供了方便的异步数据获取方式,而$.each()用于遍历集合。动画效果如...

    Web前端大作业-个人网页(html+css+javascript)

    例如,轮播相册可能使用JavaScript来控制图片的切换,个人日志可能包含动态加载或编辑功能,天气查询可能通过调用API获取实时数据,而微电影页面可能包括播放、暂停和进度控制等视频功能。 【标签】"html5 css ...

    ActionScript与JavaScript相互调用

    1. **从Flash调用JavaScript**:有时候需要从Flash影片中控制浏览器的行为,例如打开新窗口、调整窗口位置或滚动页面等。由于这些功能无法直接通过ActionScript实现,因此需要调用JavaScript代码来完成。 2. **从...

    javascript经典特效---不同CSS效果的调用.rar

    【标题】"javascript经典特效---不同CSS效果的调用"主要涵盖了JavaScript在网页设计中如何利用CSS实现各种视觉效果。JavaScript是一种广泛应用于客户端Web开发的脚本语言,它与CSS(层叠样式表)结合使用,可以实现...

    css+javascript计算器实例

    【CSS+JavaScript计算器实例】是一种基于网页的交互式计算工具,它利用了两种核心技术:层叠样式表(CSS)和JavaScript。CSS主要负责计算器的视觉设计,包括布局、颜色、字体等元素,使得计算器界面美观易用。而...

    HTML+CSS+JAVASCRIPT 开发文档

    5. AJAX和API调用:介绍如何使用JavaScript进行异步数据交换,实现与服务器的互动。 6. 库和框架的使用:可能包括jQuery、React、Vue等的教程,帮助开发者更高效地开发复杂的Web应用。 这份文档集合对于初学者而言...

    安卓Android源码——调用JavaScript.zip

    本资源"安卓Android源码——调用JavaScript.zip"显然是一个关于如何在Android应用中调用JavaScript的示例代码集。下面我们将深入探讨这一主题。 一、WebView组件 在Android中,`WebView`是实现调用JavaScript的核心...

    精通HTML5+CSS3+JavaScript网页设计.z01

    同时《精通HTML5 + CSS3+JavaScript网页设计》在网上提供了实例源代码,可供读者直接查看和调用,以便快速上手或进行二次开发。 《精通HTML5 + CSS3+JavaScript网页设计》内容丰富、理论结合实践,对从事网站美工...

    css&javascript小例子

    在IT领域,CSS(Cascading Style Sheets)和JavaScript是两个至关重要的技术,它们共同构建了现代网页的外观和交互性。"css&javascript小例子"这个压缩包可能包含了一些用于学习和实践这两种语言基础及应用的小项目...

    Android调用JavaScript.zip

    本资源包"Android调用JavaScript.zip"提供了一个示例,帮助开发者理解如何在Android原生环境中调用JavaScript代码。以下是对这个主题的详细阐述: 1. **WebView组件**:Android中的`WebView`是实现Android与...

    使用HTML、CSS和JavaScript开发Android程序

    通过框架如PhoneGap或Ionic,JavaScript可以直接调用Android原生API,实现如GPS定位、摄像头访问、推送通知等功能,使得Web开发者也能构建功能强大的原生应用。 **Android开发中的Web技术应用** 1. **Apache ...

    css+javascript经典实例

    在网页开发中,CSS(层叠样式表)用于定义页面的布局和视觉样式,JavaScript则是一种强大的客户端脚本语言,负责实现动态交互效果。本教程将这两者结合,配以HTML基础,构建出实际可运行的网页示例。 首先,HTML是...

    特效-html-css-javascript

    2. JavaScript交互:例如,悬停效果、滚动监听、表单验证等,通过JavaScript事件监听和函数调用来实现。 3. HTML5新特性应用:比如使用canvas绘制图形,或者video元素实现视频播放和控制。 4. 响应式设计:可能包含...

    应用源码之调用JavaScript.zip

    在Android开发中,调用JavaScript是常见的功能,特别是在构建混合应用程序或者增强原生应用的交互性时。这个压缩包“应用源码之调用JavaScript.zip”显然包含了关于如何在Android应用中集成和通信JavaScript的示例...

    CSS DHTML JavaScript手册

    【CSS DHTML JavaScript手册】是一份综合性的在线帮助文档,旨在为网页开发者提供关于这三种核心技术的详尽指导。这份资源包含CSS(层叠样式表)2.0、DHTML(动态HTML)以及JavaScript的相关知识,是提升网页设计与...

    安卓Android源码——Android调用JavaScript.zip

    `WebView`可以加载HTML、CSS和JavaScript,并且允许Android应用通过Java代码调用JavaScript函数。在Java代码中,我们可以创建一个`WebView`对象,并设置`WebViewClient`和`WebChromeClient`来处理页面加载和...

    JS和CSS和C++互相调用

    然而,CSS自身并不支持直接调用JavaScript或C++。要实现CSS与JS的交互,通常需要通过JS修改CSS变量或利用CSS @rules(如@keyframes)触发JS事件。 C++在Web开发中的角色主要体现在浏览器内核和高性能的Web组件上。...

    Div CSS网站布局视频教程第13课_CSS与Javascript网站中的应用

    在本节“Div CSS网站布局视频教程第13课 - CSS与Javascript网站中的应用”中,我们将深入探讨如何将这两种关键技术结合使用,以构建功能丰富且具有吸引力的现代网页。CSS(层叠样式表)是用于控制网页外观和布局的...

    w3c标准手册(html,css,JavaScript,jQuery,xml)

    它的核心功能包括选择器(用于快速找到DOM元素)、链式调用(一个方法调用后可以直接调用另一个方法)、事件处理(如`.click()`、`.change()`)和动画效果(如`.fadeIn()`、`.slideToggle()`)。jQuery使得...

Global site tag (gtag.js) - Google Analytics