在Safari扩展中使用jQuery

时间:2012-12-11 22:00:10

标签: javascript jquery macos safari safari-extension

由于某些原因,在我的global.html文件中,jquery对我不起作用。

这是我的global.html文件中的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
    <title>Hello World</title>
    <meta name="generator" content="myHTMLEdit | www.myownapp.com" />
    <script type="text/javascript">

    function performCommand(event)
    {
        if (event.command === "alert") {
        alert("event fired...");

            var $x = $("meta[property=og:image]").attr("content");
            alert($x);
            alert("completed.");
        }
    }
    function validateCommand(event)
    {
        if (event.command === "alert") {
            event.target.disabled = !event.target.browserWindow.activeTab.url;
        }
    }
    safari.application.addEventListener("command", performCommand, true);
    safari.application.addEventListener("validate", validateCommand, true);
    </script>
</head>
<body>
</body>
</html>

我正在使用警报来查看我的jquery是否正常工作。 它会提醒“事件被解雇......”但停在那里(没有第二个警报)。 但是,如果我删除了两行jquery,则会弹出两个警报。 我正在创建一个工具栏项,当我点击它时,如果这有助于您解决此问题,则会触发事件。

按下检查全局页面时只有一个错误

error

1 个答案:

答案 0 :(得分:1)

您的选择器sytax无效。如果您检查this JS并检查您的JavaScript控制台,则会看到错误消息

Uncaught Error: Syntax error, unrecognized expression: meta[property=og:image]

我不知道你的meta标签是怎样的,但如果它像小提琴一样,选择器就像

$('meta[og="image"]')

正如您在jQuery reference中所看到的那样。

请注意以后的问题:如果您发布完整的错误消息而不是仅包含其中一部分的图像,则会更容易解决。