尝试在Google(或其他Google托管的lib)上加载托管jQuery的好方法,但如果Google尝试失败,请加载我的jQuery副本?
我不是说谷歌是片状的.有些情况下谷歌副本被封锁(例如在伊朗).
我会设置一个计时器并检查jQuery对象吗?
这两份副本的危险是什么?
并不是真的在寻找"只使用谷歌"或"只使用自己的"等答案.我理解这些论点.我也理解用户可能会缓存Google版本.我正在考虑一般的云回退.
编辑:这部分补充......
由于Google建议使用google.load加载ajax库,并在完成后执行回调,我想知道这是否是序列化此问题的关键.
我知道这听起来有点疯狂.我只想弄清楚它是否可以以可靠的方式完成.
更新:jQuery现在托管在微软的CDN上.
我想获取HTML页面的源代码,但它有一个JS脚本,可以动态加载数据并将接收到的内容附加到页面.
我使用jsoup来解析HTML,但它只在JS执行之前返回内容,所以我没有收到动态加载的数据.
如何在脚本执行后使用任何框架,cli等获取源代码?
是否保证此代码
function runEmbeddedJSInPageEnvironment(code) {
var e = document.createElement('script');
e.type = 'text/javascript';
e.appendChild(document.createTextNode(code));
(document.head || document.documentElement).appendChild(e);
e.parentNode.removeChild(e);
}
runEmbeddedJSInPageEnvironment("$('#someform').off('submit');");
Run Code Online (Sandbox Code Playgroud)
将等待传递给的代码runEmbeddedJSInPageEnvironment先完成,然后通过调用removeChild函数将其从页面中删除?
或者可以在此代码执行完毕之前将其删除?
我想检查某个特定的 JS 文件是否已加载到 document.ready 中。
像这样的东西:
if(file already called/loaded) { // my code }
else {//some other code}
Run Code Online (Sandbox Code Playgroud)
JS 文件不是任何插件。
它基本上是一个与 SharePoint 相关的 JS 文件,例如 Sp.JS。
我们只知道文件名。
[更新 - 添加代码]
我添加了以下代码,它在控制台中抛出错误: SP.Runtime.js 已加载。
如果我删除 SP.Runtime.js 的加载,我的代码将无法在默认情况下未加载 Runtime.Js 的某些页面中运行。
$(document).ready(function() {
var scriptbase = _spPageContextInfo.webServerRelativeUrl + "/_layouts/15/";
$.getScript(scriptbase + "init.js",
function() {
$.getScript(scriptbase + "SP.Runtime.js",
function() {
$.getScript(scriptbase + "SP.js",
function() {
$.getScript(scriptbase + "SP.Taxonomy.js",
function() {
context = SP.ClientContext.get_current();
// My custom function //
});
});
});
});
});
Run Code Online (Sandbox Code Playgroud)
请建议。 …