如何在AppleScript中执行JavaScript函数?

时间:2012-09-28 08:46:26

标签: javascript applescript

我用脚本编辑器尝试了这个苹果脚本。 但它并没有把我带到手动点击它通常会去的页面。 它似乎什么都不做:(

do JavaScript "doCallerPage('FORM_PAGE', 'FR_AN', '/as/an/Check.do');return false;" in document 1

HTML源代码中的链接

<a id="LNK0001" href="javascript:void(0);" onclick="doCallerPage('FORM_PAGE', 'FR_AN', '/as/an/Check.do');return false;">Check Page</a>

JavaScript函数

function doCallerPage(formName, target, actionPath, _action, _t) {
        if (actionPath == "") {
            return false;
        }

        if (target && target != "_self") {
            checkSubWindow(target);
        }
        if (document.FORM_PAGE.ctrlflg.value == "") {
            if (_action) {
                document.FORM_PAGE._ACTION.value = _action;
            }
            else if (!_action) {
                document.FORM_PAGE._ACTION.value = "";
            }
        }
        if (_t) {
            document.FORM_PAGE._T.value = _t;
        }
        else {
            document.FORM_PAGE._T.value = "";
        }
        document.FORM_PAGE.action = actionPath;
        document.FORM_PAGE.target = target;
        document.FORM_PAGE.submit();
        document.FORM_PAGE._P.value = "";
        document.FORM_PAGE._T.value = "";
        document.FORM_PAGE._ACTION.value = "";
        document.FORM_PAGE.ctrlflg.value = "";
}

1 个答案:

答案 0 :(得分:1)

语法略有不同,必须是javascript。在Chrome上使用jQuery可以这样做:

tell application "Google Chrome" activate set jq to do shell script "curl https://code.jquery.com/jquery-latest.min.js" execute front window's active tab javascript jq execute front window's active tab javascript "jQuery('body').css({'color':'blue'});" end tell

Vanilla JS:

tell application "Google Chrome" activate execute front window's active tab javascript "if (window.console) console.log( 'hi' );" end tell

您可以在其他应用程序中执行其他操作,只要在脚本完成之前,只要浏览器窗口保持不变,脚本就会执行。