首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断哪个javascript框架正在验证网站上的表单?

问如何判断哪个javascript框架正在验证网站上的表单?
EN

Stack Overflow用户
提问于 2015-10-20 08:44:25
回答 2查看 419关注 0票数 0

我正在尝试构建一个chrome扩展,以便将数据输入到toysrus.com和macys.com等网站的在线表单中。chrome扩展可以将javascript注入到站点中进行测试。我正在尝试确定哪个框架是用来在网站上做表单验证。

我必须更改输入字段,比如选择"CA“作为州,或者使用javascript键入姓氏。但如果我不知道他们使用的是什么系统,我就不能这么做。每个框架都有自己的规则来更改输入字段,并将更改注册到框架中。

我正在尝试看看是否有任何方法来判断哪个框架正在执行验证,以便我可以使用正确的命令。

在toysrus.com的情况下,prototype.js和jquery都在运行,通过检测变量jquery或Prototype是否存在,但我必须使用prototype语法来获取和更改表单中的值,而不是jQuery。我不得不通过大量的试验和错误手动完成这项工作。

有没有什么javascript可以让我编写并注入到页面中,以判断哪个框架正用于验证这些网站上的表单。

我注意到在上面的例子中,$("#elementid")返回null,但是$("elementid")返回一个实际的元素。这告诉我原型正在做实际的验证。有没有什么测试或者js库可以确定元素上使用的是什么框架?

EN

回答 2

Stack Overflow用户

发布于 2015-10-20 09:03:53

伙计,对于你的特殊情况,你的原型和jquery与美元符号冲突,

只需执行以下操作:

代码语言:javascript
复制
<!-- Another way to put jQuery into no-conflict mode. -->
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>

jQuery.noConflict();

jQuery( document ).ready(function( $ ) {
// You can use the locally-scoped $ in here as an alias to jQuery.
$( "div" ).hide();
});

// The $ variable in the global scope has the prototype.js meaning.
window.onload = function(){
  var mainDiv = $( "main" );
}

</script>

`

更新:伙计,如果你坚持使用框架,将没有保证的解决方案,唯一可能的方法是使用纯javascript,那就是香草js!

票数 0
EN

Stack Overflow用户

发布于 2015-10-20 09:48:43

首先,除非你有需要框架的复杂事情要做,否则最简单的可能是只使用document.querySelector()或document.querySelectorAll(),使用普通的Javascript,而不用担心框架。

如果你真的想要确定哪个框架存在,那么你可以为每个框架开发一个功能测试,并按照你关心的顺序对它们进行测试。

例如:

代码语言:javascript
复制
if (typeof jQuery !== "undefined") {
    // jQuery present
} else if (typeof angular !== "undefined") {
    // angular present
} else if (typeof Prototype !== "undefined") {
    // Prototype present
} else if (typeof dojo !== "undefined") {
    // dojo present
} else {
    // don't see any framework
}

根据你到底想做什么,每个框架也可能有更全面的测试。

仅供参考,当在不熟悉的页面中使用jQuery时,我建议使用jQuery作为根标识符,而不是jQuery(...)中的$,而不是$(...)。如果其他框架正在使用$,这将防止混淆。

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

https://stackoverflow.com/questions/33226236

复制
相关文章

相似问题

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