关于javascript读取xml文档并且兼容Mozilia 、chrome和IE浏览器

JS解析XML适用于不用的浏览器 JS解析XML适用于不用的浏览器JS解析XML适用于不用的浏览器 立即下载

最近在学习javascript,在学习到文档对象模型的时候,学习了一下关于js读取xml的方法,期间ie很好解决,但是在ff和chrome下就不知如何解决了,网上查看资料后,果断的实践了一下,下面文件在读取xml实现了兼容ie/Firefox/chrome,但是在显示数据表的时候只有ie可以,希望看到的人不吝赐教。

jsp文件

-------------------------------------------------------------------------------------------------------------------------------------------------------------

<%@ page language="java"pageEncoding="gbk"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>测试js加载xml文件[支持IE/Mozlia/Chrome浏览器]</title>
<script type="text/javascript">
  function loadXML(xmlString){
  var agent = navigator.userAgent.toLowerCase();
        var xmlDoc=null;
        //支持IE浏览器 
       if(!(agent.indexOf("opera")>-1) && (agent.indexOf("msie") > -1)){   // 判断是否是非ie浏览器
            var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
            for(var i=0;i<xmlDomVersions.length;i++){
                try{
                    xmlDoc = new ActiveXObject(xmlDomVersions[i]);
                    xmlDoc.async = false;
                    xmlDoc.load(xmlString); //load方法载入xml字符串
                    break;
                }catch(e){}
            }
        }
        //Chrome浏览器  注:需要浏览器支持
      else if(agent.indexOf("chrome") > -1){ // 判断是否是非chrome浏览器
            try{
                var xmlhttp = new window.XMLHttpRequest();
        xmlhttp.open("GET",xmlString,false);
        xmlhttp.send(null);
        alert(xmlhttp.readyState);
        if(xmlhttp.readyState == 4){
        xmlDoc = xmlhttp.responseXML.documentElement;
        }
       
            }catch(e){
            alert("谷歌浏览器不支持该解析方式!");
            }
        }
        //支持Mozilla浏览器
        else if(!(agent.indexOf("chrome") > -1) 
        && !(/webkit|khtml/).test(agent) 
        && agent.indexOf("gecko")){       //判断是否是火狐浏览器
        try{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
                xmlDoc.load(xmlString); //load方法载入xml文件
            }catch(e){}
        }else{
            return null;
        }
return xmlDoc;
    }
    function createTable(xmlDoc){
    var book = xmlDoc.getElementsByTagName("book");
   
    var centeFlag = document.createElement("center");
    var oT = document.createElement("table");
oT.border = 1;oT.cellspacing = 4;oT.width = 400;oT.cellpadding=1;
    var oTH = document.createElement("thead");
   
    var oTR = document.createElement("tr");
   
    var oTD1 = document.createElement("td");
    var oTxt1 = document.createTextNode("id");
    oTD1.appendChild(oTxt1);
    oTR.appendChild(oTD1);
   
   
    var oTxt2 = document.createTextNode("title");
    var oTD2 = document.createElement("td");
    oTD2.appendChild(oTxt2);
    oTR.appendChild(oTD2);
   
    var oTxt3 = document.createTextNode("author");
    var oTD3 = document.createElement("td");
    oTD3.appendChild(oTxt3);
    oTR.appendChild(oTD3);
    oTH.appendChild(oTR);
    oT.appendChild(oTH);
   
    var oTB = document.createElement("tbody");
    for(var i = 0; i<book.length;i++){
    var oTR1 = document.createElement("tr");
   
    var id = book[i].getAttribute("id");
    var oTxt4 = document.createTextNode(id);
    var oTD4 = document.createElement("td");
    oTD4.appendChild(oTxt4);
    oTR1.appendChild(oTD4);
   
    var titleObj = book[i].childNodes[0].firstChild ;
    //alert(titleObj.nodeValue);
    var oTxt5 = document.createTextNode(titleObj.nodeValue);
    var oTD5 = document.createElement("td");
    oTD5.appendChild(oTxt5);
    oTR1.appendChild(oTD5);
   
    var authorObj = book[i].childNodes[1].firstChild;
    //alert(authorObj.nodeValue);
    var oTxt6 = document.createTextNode(authorObj.nodeValue);
    var oTD6 = document.createElement("td");
    oTD6.appendChild(oTxt6);
    oTR1.appendChild(oTD6);
   
    oTB.appendChild(oTR1);
    }
    oT.appendChild(oTB);
    centeFlag.appendChild(oT);
    document.body.appendChild(centeFlag);
    }
function promptInfo(){
var xmlDoc = loadXML('data.xml');
createTable(xmlDoc);
}
</script>
  </head>
  
  <body onload="promptInfo()">
 
  </body>

</html>

------------------------------------------------------------------------------------end----------------------------------------------------------------------------------------------------

xml文档

-------------------------------------------------------------------------------------start--------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="gbk"?>
<books>
<book id="4" sortID="2">
<title>math</title>
<author>author4</author>
</book>
<book id="5" sortID="1">
<title>chinese</title>
<author>author5</author>
</book>
<book id="6" sortID="3">
<title>english</title>
<author>author6</author>
</book>
<book id="7" sortID="a4">
<title>phisiy</title>
<author>author7</author>
</book>
</books>

-------------------------------------------------------------------------------------------------end--------------------------------------------------------------------------------------------------------------------------

OpenNARS开源通用人工智能系统:非公理推理引擎实践指南 人工智能系统从基于规则推理到深度学习模型,始终围绕如何让机器具备智能决策能力。传统逻辑系统依赖公理和完备知识,而现实世界智能体需要在资源受限、信息不完备环境下进行推理。非公理推理系统(NARS)通过动态真值计算和信念修正机制,实现了在不确定性环境下的自主学习和决策。这种推理引擎的技术价值在于模拟人类思维的核心机制——归纳、演绎和学习,为通用人工智能(AGI)提供了不同于数据驱动的新路径。在应用场景上,NARS适用于游戏NPC决策、复杂系统故障诊断和自适应机器人控制等领域。OpenNARS作为NARS理论的开 阅读详情

相关推荐

电磁仿真软件CST2020 下载链接及安装破·解教程笔记

众所周知,配环境是安装软件最头疼的事情。CST2020我调了一上午,网上现有的安装教程良莠不齐,很难有一篇文章能够全流程的讲述安装过程以及遇到的问题。正好今天我要给另一台电脑装软件,借此机会把安装过程记录下来,以供将来使用和他人借鉴。 首先提供下载地址: 百度网盘 链接:https://pan.baidu.com/s/1cDJZelufj-nliUfekMNpEA 提取码:8ihx 附: 根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软

weixin_42845306的博客 3万+

js解析XMl文件,兼容IE、Firefox、谷歌

[javascript] view plain copy loadXML = function(xmlFile){ var xmlDoc=null; var agent = navigator.userAgent.toLowerCase(); //判断浏览器的类型 /...

311

利用Sigrity的SPEED2000进行时域电源噪声分析

SPEED2000进行时域电源噪声分析

ZHENGSA的博客 3620

Http协议

本文是小编深受传智教程而写的文章,主要是为了便于自己整理知识。有意向的可以关注去关注传智教程。 HTTP:概述       HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。       HTTP就是一个通信规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。

有心博客 371

Halcon —— 图像像素类型与转换

图像类型 就目前工业领域主流的图像处理工具halcon来讲,有以下几张图像类型:‘byte’, ‘complex’, ‘cyclic’, ‘direction’, ‘int1’, ‘int2’, ‘int4’, ‘int8’, ‘real’, ‘uint2’,具体含义如下图所示。相互间的转换可通过convert_image_type算子完成,但盲目转换会导致图像像素值异常。 ‘byte’ 每像素1字节,无符号 值范围: (0到255) ‘int1’ 每像素1字节,有符号 值范围: (-128到127) ‘

baidu_35536188的博客 1万+

四足机器人如何用对抗运动先验(AMP)实现复杂地形行走?Unitree Go1实战解析

本文深入解析了四足机器人Unitree Go1如何通过对抗运动先验(AMP)算法实现复杂地形行走。AMP结合模仿学习与对抗训练,使机器人仅凭本体感知就能适应未知地形。文章详细介绍了AMP的核心架构、仿真训练工程实践以及在Unitree Go1上的部署优化方案,展示了其在极端地形下的卓越性能表现。

weixin_29050513的博客 327

前端js中解析XML文件(一)

IE浏览器中的XML解析器是通过ActiveX控件所实现的,,通过以下的代码来引用XML解析器。var xmldoc = new ActiveXObject("Microsoft.XMLDOM");以上的代码可以创建一个XMLDOM对象,使用该对象可以加载一个XML文件,加载方式

javadxz的专栏 7691

【AI理论学习】手把手推导扩散模型:Diffusion Models(DDPM)

生成扩散模型DDPM如下图所示分为前向、逆向两个过程,它首先通过不断往原始清晰数据中添加噪声使其变成标准高斯噪声(前向过程),而后期望从标准高斯噪声中还原原始数据(逆向过程)。若能实现,那便可从已知的标准高斯分布中采样一个噪声数据,而后利用DDPM模型生成符合原始数据分布的新数据。 Diffusion模型包含两个过程:数学符号:y∝xy\propto xy∝x:y正比于x,即y随着x增大而线性增大。 条件概率:贝叶斯公式:p(A∣B)=p(B∣A)×p(A)p(B)p(A|B)=\frac{p(B|A)\

小哲的博客 1508

JavaScript中使用Chrome浏览器解析XML文档,也可以兼容IE浏览器

JavaScript语法: <script type="text/javascript"> window.onload = function(){ var xmlDoc = getXmlNode("ChinaCities.xml"); var province = xmlDoc.getElementsByTagName("province"); //获取省节...

xy862578733的博客 1791

RedCap:一种通信技术的概述

总结起来,RedCap是一种基于数据包交换的通信技术,它提供了一种高效、可靠的数据传输机制。通过使用RedCap,我们可以轻松地发送和接收数据包,并确保数据的完整性和正确性。在上面的示例中,我们首先导入了RedCap库,并创建了一个RedCap实例。然后,我们定义了目标地址和源地址,并创建了一个数据包,其中包含了目标地址、源地址和要发送的数据。本文将介绍RedCap的基本原理和使用方法,并提供一些相关的源代码示例。RedCap还提供了其他一些功能,如数据包的重传机制、流量控制和拥塞控制等。

YgjWeb的博客 899

060、模型蒸馏:把扩散模型压进单步的魔法

《端侧文生图模型蒸馏实战:从32步到1步的优化之道》摘要:针对边缘设备部署难题,本文分享了扩散模型蒸馏的核心经验。通过重构损失函数(感知损失+对抗训练+KL散度)、优化采样轨迹截取策略和改造学生模型架构,成功将Stable Diffusion压缩至单步推理。关键发现包括:小批量训练更有效、标签平滑保障生成多样性、双模型策略平衡质量与速度。在Cortex-A53芯片上实现300ms内生成,内存占用控制在200MB以下。特别强调工业部署需权衡压缩率与稳定性,建议保留迭代模式开关以适配不同场景需求。

2601_95651806的博客 149

谷歌浏览器加载本地xml和xls报告同源错误的问题

  谷歌浏览器直接访问本地带有xls修饰的xml会报如下错误:    在http://stackoverflow.com论坛里的讨论组大家说这个是Chrome团队基于安全的考虑而做出的限制,应该类似ajax的同源问题类似。   为浏览器添加启动参数 --allow-file-access-from-files。如图:    重新启动浏览器再次访问xml:结果终于出现了。  注:所用xml...

jimoshutong的专栏 463

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(一)(含2022年和2023年)

此部分包含华为机试真题,方向是数字芯片,内容详细包括设计、验证、后端等,大部分题目给出参考答案。华为机试都是从题库里抽题目,所以这些题目还是很有参考性的,甚至是完全一样,可以搜到的。(题目内容较多,将分开编写几个文章)A. genvarB. integerC. wireD.reg参考答案:AA.综合的时候,define无法跨文件列表生效B.宏定义文件最好放在一个文件中集中管理,防止出现不同的项目需要修改不同的宏定义值,但是却漏改了某些地方的情况出现。

qq_42135020的博客 5769

在IE浏览器中获取xhr.responseXML的节点里面的内容

今天用ajax请求了一段xml xhr.onload = function(){ console.log(xhr.responseXML); console.log(xhr.responseXML.getElementsByTagName('name')[0].innerHTML); } 浏览器返回的内容是这样的: 偏偏只有IE11返回的结果是这样: 展开XMLDocument又是一大堆不知所云的东西了,然后我一

qq_44739238的博客 822

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Mozilla JavaScript

JavaScript(JS) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web 页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,例如Node.js、Apache CouchDB和Adobe Acrobat。JavaScript 是一种基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。了解更多Java...

大强博客 1969

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

兼容IE10 chrome的读取xml方法总结

JavaScript读取xml,兼容浏览器

ldldong的专栏 4007

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

js读取xml文件,解决浏览器兼容问题

js读取xml文件,解决浏览器兼容问题 使用children属性存在浏览器兼容问题,在ie中无法实现 $.ajax({ //请求方式为get type: "GET", //xml文件位置 url: "/flex/assets/data/CatalogTreeData.xml", //返回数据格式为xml dataType: "xml", //请求成功完

叶落无痕 1675

js解析xml文件(针对非IE浏览器)

带命名空间的xml文件解析

我的博客 895

javaScript解析XML时IE11浏览器不支持xmlDoc.load()方法

大家直接看源代码和截图吧!jsResolveXML.html&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;使用javascript解析xml&lt;/title&gt; &lt;link rel="stylesheet" type=&

一只苟延残喘的卑微蝼蚁 2497

JS读取XML文件(兼容浏览器)

前段时间,客户要求增加一个点击率的小功能,现将部分JS代码附上,对以后有所帮助。   1、通过JS读取XML文件,主要是判断各个浏览器   View Code // 加载xml文档 var loadXML = function (xmlFile) { var xmlDoc; if (window.ActiveXObje...

weixin_30258901的博客 277

关于struts1.x中Action使用request.getParameter(param)取不到url的参数问题

昨天由于营运系统需要修改相关bug,在修复改bug后发现一个新的问题,那就查询页面出现了问题,但数值是对的(ps :因为混淆的两个页面面都在session中取了同一个attr),多出了几个字段值的显示,最后查看源码后,确定是由于 url传过来的参数值未取到导致页面跳转出错,我尝试了其他几个相同的url结果显示,出错情况相同,由于之前都是 在tomcat目录下启动的,最

linuxOOstudy的专栏 2139

Chrome 扩展安全攻防实录:从攻击面到防御实践

本文系统剖析Chrome扩展安全风险,涵盖其架构组成、权限模型与通信机制,梳理权限滥用、脚本注入、消息信任漏洞等攻击面,结合XSS提权、伪造消息、供应链攻击等典型案例,提出最小权限、输入校验、CSP策略、依赖管理等防御体系,并提供静态检查、动态调试等审计实践。展望Manifest V3下安全演进方向,为开发者与安全研究者提供全面防护指南。

2401_84466325的博客 189
上一篇: 让你拥有Myeclipse5.5的终极使用权
下一篇: 关于struts1.x中Action使用request.getParameter(param)取不到url的参数问题
linuxOOstudy
博客等级 码龄15年 1粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值