disco-attempt-7
by Andrea Ercolino
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/yepnope/1.5.4/yepnope.min.js"></script>
JavaScript
$(function() {
$.proxyGet('http://disco-tools.eu/disco2_portal/terms.php', function(data) {
$.ajaxSetup({
beforeSend: useProxyWhenNeeded()
});
convert_relative_urls_to_absolute();
var remote_scripts = remove_scripts();
$('body').append(data);
monkey_patch_indexOf();
remote_scripts.shift(); // ignore jQuery
yepnope({load: remote_scripts});
remove_noise();
//---
function monkey_patch_indexOf() {
var String_prototype_indexOf = String.prototype.indexOf;
String.prototype.indexOf = function(sub) {
var value = this.toString();
var jsfiddle_update = /\/\w{5,5}(\/\d+)?\/show\/$/;
var jsfiddle_run = '/_display/';
if (jsfiddle_update.test(value) || jsfiddle_run == value) {
value = '/disco2_portal/terms.php';
}
var result = String_prototype_indexOf.apply(value, arguments);
return result;
};
console.log('Monkey patched String.prototype.indexOf !!');
}
function useProxyWhenNeeded() {
var reqno = 0;
return function( jqXHR, settings ) {
var url = settings.url;
console.log('Request ' + (++reqno) + ': ' + settings.type + ' ' + url + ' .');
if (url.indexOf('ajax/ajaxCalls.php') == 0) {
url = 'http://disco-tools.eu/disco2_portal/' + url;
}
var needs_proxy = url.indexOf('http://disco-tools.eu/disco2_portal/ajax/ajaxCalls.php') == 0;
if (needs_proxy) {
console.log('Proxying ' + url + ' .');
//debugger;
$.proxyGet(url, settings.success, $.extend(my_proxy, {
filter: function(data) {
return...