Ich habe schon seit ein paar Tagen damit herumgespielt, und ich fühle mich nicht näher dran, eine Reihe von Daten innerhalb eines Tampermonkey-Skripts erfolgreich zu sammeln . Das Ergebnis, das mir am nächsten kam, war die Verwendung des Codes http://jsfiddle.net/peterbenoit/N7avm/, der die Webseite/Daten erfolgreich geladen hatte. Als ich jedoch versuchte, das Skript als tampermonkey-Skript hinzuzufügen, trat der bekannte Domänenübergreifende Fehler auf.Wie kann ich einen domainübergreifenden Anruf in Tampermonkey einrichten, um einen divs Inhalt zu bekommen
Refused das Skript 'http://query.yahooapis.com/v1/public/yql?q=select%20 *% 20from% 20html% 20where ... t = xml% 27 & Rückruf = jQuery21407879608951028498_1460047110140 & _ = 1460047110141', weil es verletzt die folgenden Content Security Policy Richtlinie zu laden: „Skript-src ' Selbst '' unsafe-inline '' unsafe-eval 'http://steamcommunity-a.akamaihd.net/https://api.steampowered.com/http://www.google-analytics.comhttps://ssl.google-analytics.comhttps://www.google.comhttps://www.gstatic.comhttps://apis.google.com ".
$(function() {
var container = $('#target');
var msg = $('#msg');
var url = 'http://peterbenoit.com';
$.getJSON("http://query.yahooapis.com/v1/public/yql?" +
"q=select%20*%20from%20html%20where%20url%3D%22" +
encodeURIComponent(url) +
"%22&format=xml'&callback=?",
function(data) {
if (data.results[0]) {
var data = filterData(data.results[0]);
msg.html('(ready.)');
container.html(data).focus().effect("highlight", {}, 1000);
} else {
msg.html('(error!)');
msg.addClass('error');
var errormsg = '<p>Error: could not load the page.</p>';
container.html(errormsg).focus().effect('highlight', { color: '#c00' }, 1000);
}
}
);
});
function filterData(data) {
// filter all the nasties out
// no body tags
data = data.replace(/<?\/body[^>]*>/g, '');
// no linebreaks
data = data.replace(/[\r|\n]+/g, '');
// no comments
data = data.replace(/<--[\S\s]*?-->/g, '');
// no noscript blocks
data = data.replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g, '');
// no script blocks
data = data.replace(/<script[^>]*>[\S\s]*?<\/script>/g, '');
// no self closing scripts
data = data.replace(/<script.*\/>/, '');
// [... add as needed ...]
return data;
}
So ist die jist von dem, was ich zu tun versuchen, ist eine persönliche userscript ausführen, die Inhalte vor Ort A zeigt, und ich will es eine Reihe von Daten aus einem div vor Ort B (div class sammeln = "Vorschau k_wear_float") und zeigt es vor Ort in einer var-Nachricht an. Ich habe iframes, JSON, xmlhttprequests ausprobiert und hatte bis jetzt überhaupt kein Glück beim Zugriff auf die Daten, also wenn mir jemand helfen könnte, mich in die richtige Richtung zu lenken, wäre das gut.
Ich habe ein grundlegendes Verständnis von js, aber ich bin immer noch ein Neuling, also bitte erklären etwas mehr als Sie der durchschnittliche Benutzer wenn überhaupt möglich wäre, nur so kann ich versuchen, den Prozess ein bisschen besser zu verstehen.
Noch ‚Refused das Skript geladen werden, da es die folgenden Content Security Policy Richtlinie verletzt‘ bekommen leider in der Konsole. Eher frustrierend, um tampermonkey reden zu hören – Nexus1234