首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery - javascript错误-思科网络虚拟专用网

jQuery - javascript错误-思科网络虚拟专用网
EN

Stack Overflow用户
提问于 2009-08-26 15:50:48
回答 2查看 6.3K关注 0票数 8

我有一个非常独特的情况。

我们在这里使用的是思科网络VPN (不知道确切的名称)。

如果我尝试使用我开发的网页,javascript就会被破坏。

,我追踪到了以下内容:

当使用Cisco时,它实际上会重写一些HTML/JavaScript代码。例如,在源的开头,它坚持了以下几点:

代码语言:javascript
复制
<script  id='CSCO_GHOST' src="/+CSCOL+/cte.js"></script>

这直接发生在<html> begin标记之后(而不是在<head>标记中)。

在这个源的内部,cte.js,有一个错误。该错误导致jQuery不能正常工作。cte.js是思科产品的一部分,完全超出了我的控制范围。

我知道如何用windows.onerror捕获错误,但这种情况并不适用。错误发生在我的脚本加载到页面之前。

关于如何抑制这个错误或处理这样的事情有什么想法吗?

我把我的<script>标记放在<head>中,然后将它们移到<body>的底部,在任何地方都没有什么区别。

更新:看上去更多一些,这是jQuery中的一些东西。我注释掉了<script>标记的jQuery,错误没有发生。没有评论,错误又回来了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-23 10:33:32

为了解决这个问题,我不得不这样做。我在web项目中使用以下代码创建了一个JS文件:

代码语言:javascript
复制
   if ( typeof SegmentHtml != "undefined" ) {
      SegmentHtmlParam.prototype['filter'] = function() {
         var name = null;
         var value = null;
         for (var i = 1; i < this._tokens.length; i++) {
            var token = this._tokens[i];
            if (token.type === ATTR_NAME) {
               name = csco_g_buffer.substring(token.first_index, token.last_index).toUpperCase();
            } else if (token.type === ATTR_VALUE) {
               value = csco_g_buffer.substring(token.first_index, token.last_index);
            };
         };
         var need_processing = false;
         if (ParserClsidName) {
            var tmp = ParserClsidName[this._clsid];
            if (tmp) {
               var proc = tmp[name];
               need_processing = typeof proc != 'undefined';
            };
         };
         /**
         * ERROR ON NEXT LINE: name is null
         */
         if (name!=null && name.toLowerCase() == "csco_proto") {
            this._parent['csco_proto'] = value;
         };
         if (need_processing) { this._parent[name] = value; };
      };    
   };

这是我在文件中包含的第一个javascript文件.

代码语言:javascript
复制
<script type="text/javascript" src="js/jQueryCiscoKludge.js"></script>
票数 1
EN

Stack Overflow用户

发布于 2009-09-11 20:46:27

我也遇到了这个问题。对于思科来说,像这样重写JS代码实在是一团糟,前提是它能适用于网络上的每一段代码。有一些严重的不可逆转的后果,如范围损失,会把一切搞砸。有谁会以“安全”的名义这么做呢?是什么阻止我们重写他们注入的JS代码呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1335718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档