-
-
Save eristoddle/4440713 to your computer and use it in GitHub Desktop.
// ==UserScript== | |
// @name Vortek Preload | |
// @namespace vortek | |
// @description Load variables | |
// @include http://localhost/vortek_php/* | |
// @version 1 | |
// ==/UserScript== | |
// a function that loads jQuery and calls a callback function when jQuery has finished loading | |
function addJQuery(callback) { | |
var script = document.createElement("script"); | |
script.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"); | |
script.addEventListener('load', function() { | |
var script = document.createElement("script"); | |
script.textContent = "window.jQ=jQuery.noConflict(true);(" + callback.toString() + ")();"; | |
document.body.appendChild(script); | |
}, false); | |
document.body.appendChild(script); | |
} | |
function main(){ | |
$(document).ready(function() | |
{ | |
setTimeout(function(){ | |
/*$('.fluid_types').val('Liquid'); | |
$('.fluid_types').triggerHandler('change'); | |
setTimeout(function(){ | |
$('.fluids').val('Ammonia'); | |
},500);*/ | |
$('.fluid_types').triggerHandler('change'); | |
$('.flow_unit_1').val('lb'); | |
$('.flow_unit_2').val('sec'); | |
$('.min_flow').val(1); | |
$('.nom_flow').val(2); | |
$('.max_flow').val(8); | |
$('.min_temp').val(280); | |
$('.nom_temp').val(280); | |
$('.max_temp').val(280); | |
//$('.min_press').val(10); | |
//$('.nom_press').val(10); | |
//$('.max_press').val(20); | |
setTimeout(function(){ | |
$('#button_calc').triggerHandler('click'); | |
setTimeout(function(){ | |
$('.icon_size').triggerHandler('click'); | |
},500); | |
},500); | |
},2000); | |
}); | |
} | |
// load jQuery and execute the main function | |
addJQuery(main); |
Did you try adding @require ?
// ==UserScript==
...
// @require http://code.jquery.com/jquery-latest.js
...
// ==/UserScript==
instead of writing function which loads jquery?
@require works just fine. In my testing, it seems that the script URI requires a scheme (http:/https:) to load.
Please note that you should not use jquery-latest.js on a production site, and I suggest not to use it at all. You can find why of this at the official jquery blog post "Don’t Use jquery-latest.js" (http://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/)
For that you could simply add /* global $ */
right belowv// ==/Usercript==
. So Tampermonkey no longer recognizes this as an undefined-error.
I might have found a better solution to fully add jquery to a page by the following code.
function main(data){
// append jquery script to head
const head = document.head || document.getElementsByTagName('head')[0],
s = document.createElement('script');
s.type = 'text/javascript';
s.innerHTML = data;
head.appendChild(s);
// if page is fully loaded execute your program
$(document).ready(function() {
'use strict'
/* your code here*/
});
}
// Get html text of the url
// main runs as soon as the site responds with status 200
function httpGET(url, callback, responseType='text') {
var request = new XMLHttpRequest();
request.responseType = responseType;
request.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
callback(this.response);
}
};
request.open('GET', url, true);
request.send(null);
};
// Type in full url and the callback function
httpGET('https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', main);
This actually worked for me for every single page. Pls tell me if that's a good solution
Nice, thank you!