Mein Ziel ist es, einen Wert a
-d
innerhalb des Arrays options
in menu.html
mit Greasemonkey-Erweiterung in Firefox zu ändern, aber mein Problem ist, dass das Element I/Zugang zu wählen bin versucht, wird als geladen Rahmen.Select-Element in einem Rahmen
Ich habe versucht, dieses Problem seit einiger Zeit zu lösen, und ich wäre sehr glücklich, wenn mir jemand helfen könnte.
ich haben zwei Dateien main.html
und menu.html
, deren Inhalt:
main.html
(ist die Hauptseite)
<html>
<head>
<meta http-equiv="Pragma" content="no-cache">
<script language="javascript">
document.writeln("<frameset rows='89,*,15' border='0' frameborder='0' framespacing='0'>");
// here is the menu frame
document.writeln("<frame src='menu.html' name='menufrm' frameborder='no' border='0' scrolling='no' target='_self' marginwidth='0' marginheight='0' noresize>");
document.writeln("</frameset>");
</script>
</head>
</html>
menu.html
(geladen wird "durch" einen Rahmen)
<html>
<head>
<meta http-equiv='Pragma' content='no-cache'>
<link rel=stylesheet href='stylemain.css' type='text/css'>
<script language='javascript' src='menuBcm.js'></script>
<base target="_self">
</head>
<body class='mainMenuBody' topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<table border="0" cellpadding="0" cellspacing="0" height="1000">
<tr>
<td class='menu' width="170" valign="top" align="left">
<script language='javascript'>
var options = new Array('a',
'b',
'c');
// ultimate goal is to change the value of a to d above before
// execution of the script below
createBcmMenu(options); // from menuBcm.js
initializeDocument();
</script>
</td>
</tr>
</table>
</body>
</html>
Wich aussieht so etwas wie dieses:
+----------------------------+
| main page (192.168.1.1) |
| |
| +---------------------+ |
| | frame (192.168.1.1) | |
| +---------------------+ |
| |
+----------------------------+
Greasemonkey-Skript:
// ==UserScript==
// @name a-to-d
// @namespace namespace
// @include http://192.168.1.1/main.html
// @include http://192.168.1.1/menu.html
// @version 1
// @grant none
// @run-at document-start
// ==/UserScript==
var newScript = `var options = new Array('d','b','c');` ;
// somehow select that element below
document.(!).innerHTML = newScript; // (!): somehow select script element in menu.html
Frames sind seit Jahren veraltet ... warum brauchen Sie Frames an erster Stelle? – charlietfl
Vielen Dank für Ihren Kommentar. Ich bin nicht der Autor dieses ursprünglichen Codes und kann den Code zum Entfernen der Frames nicht ändern. – Clone