所以我想为网站创建一个链接,点击链接后,我想在javascript弹出窗口中打开页面。 我为此创建了一个函数,但不幸的是我在chrome console中收到了这条消息:
"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。
答案 0 :(得分:2)
只需使用jQuery事件处理程序并删除内联onclick
$('<a target="_blank"...</a>').click(myFunction).appendTo('#password');
答案 1 :(得分:0)
将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');
});