如何在 Tampermonkey 中打开带有网页的 javascript Window?

How can I open a javascript Window with a webpage in Tampermonkey?

所以我想为网站创建一个 link,在我点击 link 之后,我想在 javascript 弹出窗口中打开页面 window. 我为此创建了一个函数,但不幸的是我在 chrome 控制台中收到此消息:

"Uncaught ReferenceError: myFunction is not defined"

我的脚本如下所示:

// ==UserScript== 
// @name filmkodiframe 
// @namespace  http://neocsatblog.mblx.hu
// @description Nézd meg a filmjeidet egyszerűbben filmespolcon!
// @require http://code.jquery.com/jquery-1.11.2.min.js
//  @match      *://*.online-filmespolc.net/*

// ==/UserScript==

// Finnaly attach it into the DOM
$(document).ready(function() {
    $('<a target="_blank" style="cursor:pointer;color:blue;hover:text-decoration:none;" title="A filmkód oldal megnyitása" class="lightview" onclick="myFunction()" id="myFrame" name="myFrame">Film</a>').appendTo('#password');
        function myFunction() {
             window.open("http://filmkod.uw.hu/index.php", "_blank", "toolbar=yes, scrollbars=yes, resizable=yes, top=500, left=500, width=400, height=400");
        }
});

我不明白为什么不起作用,因为我使用文档准备好,javascript 在 link.

将 myFunction 从 document.ready 函数中移到全局命名空间中,它将起作用,如下所示:

window.newNamespace = {};
newNamespace.myFunction = function() {
    window.open("http://filmkod.uw.hu/index.php", "_blank", "toolbar=yes, scrollbars=yes, resizable=yes, top=500, left=500, width=400, height=400");
}
$(document).ready(function() {
    $('<a target="_blank" style="cursor:pointer;color:blue;hover:text-decoration:none;" title="A filmkód oldal megnyitása" class="lightview" onclick="newNamespace.myFunction()" id="myFrame" name="myFrame">Film</a>').appendTo('#password');
});

只需使用 jQuery 事件处理程序并删除内联 onclick

$('<a target="_blank"...</a>').click(myFunction).appendTo('#password');