/** |
* 动态插入脚本并执行 |
* @param scriptStr |
* @param el dom元素对象或ID 可以不传入 |
* @exsample coos.$script("<script>alert(2);<\/script>"); |
*/
|
coos.$script = function(scriptStr,el)
|
{
|
var el = coos.$obj(el);
|
if(!el){
|
var div = coos.$create("div");
|
div.style.display = "none";
|
coos.$append(document.body,div);
|
el = div;
|
}
|
if(coos.browser.msie){
|
scriptStr = '<div style="display:none">ie</div>' + scriptStr;
|
//当节点被移除的时候,ie会重新解析节点内部的html,有脚本则会执行相关的脚本,script要加上defer属性
|
scriptStr = scriptStr.replace(/<script([^>]*)>/gi,'<script$1 defer>');
|
el.innerHTML = scriptStr;
|
el.removeChild(el.firstChild);
|
}else{
|
var el_next = el.nextSibling;
|
var el_parent = el.parentNode;
|
el_parent.removeChild(el);
|
el.innerHTML = scriptStr;
|
if (el_next) {
|
el_parent.insertBefore(el, el_next);
|
}else {
|
el_parent.appendChild(el);
|
}
|
}
|
};
源码请看coos脚本库
|
http://code.google.com/p/coos/source/browse/trunk/coos/WebRoot/scripts/labs/base/coos.ext.%24.js
测试页面
<html>
|
<head>
|
<title>test_$</title>
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
<script type="text/javascript" src="../scripts/coos.js"></script>
|
</head>
|
<body>
|
<div>test_$ page</div>
|
<script type="text/javascript">
|
coos.$script("<script>alert(2);<\/script>");
|
</script>
|
</body>
|
</html>
|
分享到:
相关推荐
这些文件将帮助开发者理解如何在STM32F103ZET6上搭建并运行带有COOS操作系统的应用程序。通常,这样的工程文件会包含以下部分: 1. **启动文件**:初始化堆栈、设置中断向量表等,通常是startup文件。 2. **系统...
【标题】"LPC1766_LwIP_CoOS.zip" 是一个包含NXP LPC1766微控制器使用的LwIP轻型网络协议栈与CoOS实时操作系统的示例工程。这个压缩包提供了在LPC1766芯片上实现TCP/IP网络功能和实时操作系统协同工作的完整资源。 ...
- **`onload`事件**:当`<iframe>`加载完成后触发`onload`事件,执行`coos.iframe.autoHeight`函数。 - **`autoHeight`函数**: - 获取`<iframe>`的`id`。 - 获取`<iframe>`内部的文档对象。 - 如果`<iframe>`...
maven-pax-plugin-1.5-coos3.jar
maven-pax-plugin-1.5-coos2.jar
maven-pax-plugin-1.5-coos1.jar
maven-pax-plugin-1.5-coos0.jar
4. **定时器管理**:CoOS-1.1.3支持软件定时器,为开发者提供了一种定时执行任务的手段,对于周期性工作或超时处理非常有用。 5. **线程同步与通信**:内建了信号量、邮箱、消息队列等同步通信机制,便于多任务间的...
通过任务切换,COOS可以在多个任务间进行动态调度,使得系统能同时处理多个任务。 2. **优先级**:任务有优先级之分,优先级高的任务在系统中得到优先执行。COOS通常采用抢占式调度,即高优先级任务一旦就绪,即使...
确保定时器中断正确触发,并在中断服务例程中调用`Os_Sched()`以执行任务切换。 7. **测试与调试**:编写测试代码,验证任务之间的交互、同步和通信机制,如信号量、事件旗标或消息队列。使用KEIL的调试工具进行...
STM32_IAR_CoOS工程模板是一个专为STM32F103微控制器设计的集成开发环境(IDE)项目模板,它充分利用了IAR Embedded Workbench的编译工具链,并结合了CooCox CoOS实时操作系统。这个模板为开发者提供了一个快速启动...
在电子-Coos串口实验.zip这个压缩包中,我们聚焦于...在实践中,开发者不仅需要理解STM32的硬件特性,还需要掌握CoOS的使用方法以及串口通信的编程技巧。通过这个实验,可以提升对单片机和嵌入式系统开发的全面理解。
接下来,我们将通过一个示例进一步理解 CooCox CoOS 的使用方法。在这个示例中,我们将使用 Keil RealView MDK 开发工具和 NXP 的 EM-LPC1700 开发板实现一个简单的基于 CoOS 的 demo。 **示例描述**: - **设备**...
CooCox CoOs中文用户手册
《电子-Coos流水灯.zip》是一个关于嵌入式系统开发的资源包,主要涉及的是STM32系列微控制器,特别是STM32-F0、F1和F2型号。这个项目的核心是实现一种常见的LED显示效果——流水灯。下面将详细阐述相关知识点。 一...
### coos嵌入式实时操作系统中文指导手册 #### 1. 关于CooCoxCoOS CooCoxCoOS是一款专为ARM Cortex-M系列微控制器设计的实时操作系统(RTOS)。该操作系统具有开放源代码的特点,使得开发者可以自由地对其进行修改...
1. **阅读文档**:理解COOS的设计理念、架构以及API函数的使用方法。 2. **分析源码**:通过阅读源码,理解任务调度、同步机制等核心功能的实现。 3. **编写示例**:动手编写简单的示例程序,如创建任务、设置定时器...
一款免费并开源的嵌入式实时多任务操作系统,最小系统内核小于1KB。 具有高度可裁剪性,支持优先级抢占和时间片轮转两种任务调度机制,自适应任务调度算法,中断延时时间几乎为0,可检测堆栈溢出,支持信号量、邮箱...
Coos操作系统源代码■免费并开源 ■ARM Cortex M3及M0定制操作系统 ■高度可裁剪性,最小系统内核仅974Byte ■支持优先级抢占和时间片轮转 ■自适应任务调度算法 ■中断延时时间趋近于零 ■堆栈溢出检测 ■信号量、...