有没有一种简单的方法可以在Chrome JavaScript控制台中为不使用它的网站添加jQuery?例如,在网站上我想获取表格中的行数.我知道jQuery非常简单.
$('element').length;
Run Code Online (Sandbox Code Playgroud)
该网站不使用jQuery.我可以从命令行添加吗?
我知道document.write被认为是不好的做法; 我希望编制一份提交给第三方供应商的理由清单,说明为什么他们不应该document.write在分析代码的实现中使用它们.
请在下面提供您声称document.write为不良做法的理由.
如何可靠地动态加载JavaScript文件?这将用于实现一个模块或组件,当'初始化'时,组件将根据需要动态加载所有需要的JavaScript库脚本.
使用该组件的客户端不需要加载<script>实现此组件的所有库脚本文件(并手动将标记插入其网页) - 只需要"主"组件脚本文件.
主流JavaScript库如何实现这一目标(Prototype,jQuery等)? 这些工具是否将多个JavaScript文件合并为一个可再发行的"构建"版本的脚本文件?或者他们是否动态加载辅助"库"脚本?
这个问题的补充:有没有办法在加载动态包含的JavaScript文件后处理事件? 原型document.observe适用于文档范围的事件.例:
document.observe("dom:loaded", function() {
// initially hide all containers for tab content
$$('div.tabcontent').invoke('hide');
});
Run Code Online (Sandbox Code Playgroud)
脚本元素有哪些可用事件?
我正在尝试检查我的Jquery库是否已加载到我的HTML页面上.我正在检查它是否有效,但有些事情是不对的.这是我有的:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="/query-1.6.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
if (jQuery) {
// jQuery is loaded
alert("Yeah!");
} else {
// jQuery is not loaded
alert("Doesn't Work");
}
});
</script>
Run Code Online (Sandbox Code Playgroud) 我的公司购买了一个在页面上呈现ASP.NET控件的产品.此控件使用jQuery 1.2.3并向页面添加脚本标记以引用它.如果以任何方式修改控件(包括修改引用不同版本的jQuery),控件的开发人员将不支持使用该控件.
我即将开始开发自己的控件,并希望使用jQuery 1.3的功能和速度改进.这两个控件都需要存在于同一页面上.
如何让购买的控件使用jQuery 1.2.3和新的自定义开发来使用jQuery 1.3?出于好奇,如果我们使用另外一个需要引用另一个版本的jQuery的控件怎么办?
我一直在使用这个函数将onload处理程序附加到脚本标记,它似乎是互联网上推荐的方式.
然而,如果页面已经加载(在8中测试),它在Internet Explorer中不起作用.您可以看到它在普通浏览器中有效(加载脚本时会触发警报).
我错过了什么吗?
谢谢
我有一个包含以下内容的initializor.js:
if(typeof jQuery=='undefined')
{
var headTag = document.getElementsByTagName("head")[0];
var jqTag = document.createElement('script');
jqTag.type = 'text/javascript';
jqTag.src = 'jquery.js';
headTag.appendChild(jqTag);
}
Run Code Online (Sandbox Code Playgroud)
然后我将该文件包含在另一页的某个地方.代码检查是否加载了jQuery,如果不加载,则将其添加到Head标记.
但是,jQuery没有初始化,因为在我的主文档中,我声明了一些事件来测试它.我还尝试在支票下面编写一些jQuery代码,Firebug说"jQuery未定义".这是一种方法吗?Firebug在head标签中显示jquery包含标签!
另外,我可以动态地将代码添加到$(document).ready()事件中吗?或者只是将一些Click事件添加到几个元素中?
我有一些像这样的脚本标签:
<script src="cordova-2.5.0.js"></script>
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/jquery.mobile-1.1.1.min.js"></script>
<script src="js/jquery.xdomainajax.js"></script>
<script src="js/xml2json.js"></script>
<script src="js/ZipPlugin.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/jquery.ui.touch-punch.min.js"></script>
<script src="js/prefixfree.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
这是我使用phonegap为Android编写的应用程序,但我想在网络中使用代码.我不会全部用于网页.
有没有办法像在html中使用if else这样做:
if(anything) {
<script src="cordova-2.5.0.js"></script>
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/jquery.mobile-1.1.1.min.js"></script>
<script src="js/jquery.xdomainajax.js"></script>
<script src="js/xml2json.js"></script>
<script src="js/prefixfree.min.js"></script>
} else {
<script src="js/ZipPlugin.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/jquery.ui.touch-punch.min.js"></script>
}
Run Code Online (Sandbox Code Playgroud)
我是翻车机,请帮帮我.谢谢阅读!!!
编辑:
如果我想更改我的脚本标记:
<script src="js/prefixfree.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
变成这样:
<script src="http://smartphone.thnt.vn/VietGames/GhepTranhTu/Web/js/prefixfree.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
无论如何要做一个像这样的变量:
var key ="http://smartphone.thnt.vn/VietGames/GhepTranhTu/Web/"
Run Code Online (Sandbox Code Playgroud)
然后像这样在标签中使用:
<script src = "key + 'js/prefixfree.min.js'"></script>
Run Code Online (Sandbox Code Playgroud) 之前的一个问题揭示了如何使用本机JavaScript加载jQuery.我已经成功地使用了那里答案的回调代码,在这里复制:
// Anonymous "self-invoking" function
(function() {
// Load the script
var script = document.createElement("SCRIPT");
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName("head")[0].appendChild(script);
// Poll for jQuery to come into existance
var checkReady = function(callback) {
if (window.jQuery) {
callback(jQuery);
}
else {
window.setTimeout(function() { checkReady(callback); }, 100);
}
};
// Start polling...
checkReady(function($) {
// Use $ here...
});
})();
Run Code Online (Sandbox Code Playgroud)
如何使用本机JavaScript Promises完成同样的事情?
我问的原因是因为我突然需要链接早期的回调,这是一个混乱的问题.我希望Promise是一种更好的方式,我对使用加载器框架没有兴趣.
这是我到目前为止所得到的,但承诺总是被拒绝:
// This code doesn't work quite right.
// Poll for jQuery to …Run Code Online (Sandbox Code Playgroud) 通过头中的性能优化和非阻塞脚本,我一直在尝试异步加载 jquery 本身。
我遇到了一个jQuery Loader脚本,它异步加载 jquery,然后捕获和排队 jquery 文档就绪调用。这似乎在大部分时间都有效,但并非总是如此。
因此,如果加载程序在 x 秒内未完成,我创建了一个回退来加载本地 jquery 版本。回退有效,但不完全。有些部分可能有效,有些则无效。
加载 jquery 加载器脚本后,到目前为止在 head 中调用的脚本:
<script type="text/javascript">
function loadScript(url)
{
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
head.appendChild(script);
}
var fallback_timer = setTimeout(function() {
loadScript('/path/to/local/js/jquery.js');
},5000);
jQl.loadjQ('//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',function({clearTimeout(fallback_timer);});
</script>
Run Code Online (Sandbox Code Playgroud)
问题:
任何有 jQuery Loader (jQl) 经验的人都可以帮助解决它经常失败的问题?
谁能告诉我为什么在失败的情况下,只有我的其他一些 js 脚本可以工作,而有些却一直失败?
我非常愿意使用其他一些插件/脚本/方向来异步加载 jquery 核心。
澄清一下,我不是在考虑使用 jQuery 异步加载脚本,而是在支持加载 jquery 依赖脚本的同时异步加载 jquery 本身。
execute_script如果当前页面尚未使用 jQuery,如何将 jQuery 与 selenium方法一起使用?
例如:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get(url)
driver.execute_script('$("#id").wrap("<h1></h1>")')
Run Code Online (Sandbox Code Playgroud)
我试过添加这样的脚本:
driver.execute_script(
"var jquery_script = document.createElement('script');
jquery_script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
document.findElementsByTag('head')[0].appendChild(jquery_script)"
)
Run Code Online (Sandbox Code Playgroud)
但是我收到错误消息,说 jquery_script 变量未定义。