Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
Per Serverscript mittels dynamischer Seiten.Von wo aus willst du darauf zugreifen?
Nein.Gibt's da kein GUI?

function test(v) {
alert(v);
}
{
"manifest_version": 2,
"name": "meintest",
"description": "Kleine Testanwendung",
"version": "1.0",
"permissions": [
"<all_urls>"
]
}

<!DOCTYPE HTML>
<html>
<head>
<title>Test Zugriff auf Chrome App</title>
</head>
<body>
<script>
chrome.extension.test('Hier mein Testtext');
</script>
</body>
</html>
Uncaught TypeError: Cannot call method 'test' of undefined
Wie genau bist du vorgegangen? Ich habe folgendes gemacht:und damit hat's funktioniert.
{
"manifest_version": 2,
"name": "meintest",
"description": "Kleine Testanwendung",
"version": "1.0",
"permissions": [
"<all_urls>"
]
}
var port = chrome.extension.connect();
window.addEventListener("message", function(event) {
// We only accept messages from ourselves
if (event.source != window)
return;
if (event.data.type && (event.data.type == "FROM_PAGE")) {
console.log("Content script received: " + event.data.text);
port.postMessage(event.data.text);
}
}, false);
<!DOCTYPE HTML>
<html>
<head>
<title>Test Zugriff auf Chrome App</title>
</head>
<body>
<div id="theButton" style="cursor:pointer;">Hier klicken</div>
<script>
document.getElementById("theButton").addEventListener("click", function() {
window.postMessage({ type: "FROM_PAGE", text: "Hello from the webpage!" }, "*");
}, false);
</script>
</body>
</html>
Stimmt. Danke dir.Dein Manifest ist nicht vollständig - dort musst angeben, dass die test.js als content script geladen werden soll.
Port error: Could not establish connection. Receiving end does not exist.
Uncaught Error: Attempting to use a disconnected port object

Was ich möchte ist folgendes: Ich möchte die SOP umgehen. Das heißt, meine Internetseite ruft eine function in der Chrome App auf, diese App macht einen Request an einen fremden Server, die Response dieses Servers soll an meine Internetseite zurück gegeben werden, damit diese einen Request an meinen Server macht und die Ergebnisse mitteilt.Ich hatte zum Testen den Port rausgenommen... das kann auch gar nicht funktionieren, da du ja gar keine weiteren Extension Seiten hast - d. h. du willst hier mit etwas kommunizeren, das du gar nicht hast.
Weil es etwas gibt, dass ich in JS geschrieben aus einer fremden Quelle dazu bekommen kann. Für den Server gibt es nichts zu kaufen. Und node.js kommt hierfür nicht in Betracht. Selbst nachbauen scheidet komplett aus, weil es einer ständigen Wartung unterliegt, die ich nicht machen möchte.Aber warum machst du das überhaupt über eine Chrome Extension nicht komplett auf deinem Server? Der kann doch auch Anfragen an fremde Server schicken...
Du kannst doch eine JS Bibliothek in jede Seite einbinden, von jeder Seite, die du möchtest. Da gibt es keine Einschränkungen. Das sieht so aus:Deshalb möchte ich diese - nenne es mal - JS Bibliothek gern als Content Script einbinden.
Wie sieht denn dein Test Content Script aus ohne diese Fehlermeldungen?
<script src="http://example.com/test.js"></script>
Das ist mir bekannt. Aber diese Bibliothek führt Ajax Request gegen einen fremden Server aus. Die SOP würde das deshalb in jedem Browser verbieten. Daher brauche ich die Möglichkeit, JS auszuführen, das keinen SOP Beschränkungen unterliegt. Kennst du noch eine andere Möglichkeit als mit einer Chrome Web App?Du kannst doch eine JS Bibliothek in jede Seite einbinden, von jeder Seite, die du möchtest. Da gibt es keine Einschränkungen. Das sieht so aus:
Wie? Verstehe nicht.Ja, die Antwort als JS zurückgeben, dann gibt es keine SOP