前端开发手册:JavaScript对话框-JavaScript Dialogs

自媒体 思享 306浏览
摘要:
JavaScript引擎提供了三种类型的对话框:报警、确认和提示。当JavaScript引擎需要显示其中一个对话框时,会调用DialogHandler的相应方法:。调用window.alert() JavaScript函数时会发生这种情况。在确认对话框关闭之前,JavaScript执行将被阻止。要向JavaScript返回新的提示文本,可以使用prompt dialog params . setprompttext方法。默认情况下,JxBrowser不显示JavaScript对话框,使用静默模式,在这种模式下,所有对话框都会自动关闭,当用户单击对话框上的“取消”按钮时,会模拟该行为。要显示JavaScript对话框,您可以注册自己的DialogHandler实现,它会显示适当的UI对话框。

JavaScript引擎提供三种类型的对话框:警报,确认和提示。当JavaScript引擎需要显示其中一个对话框时,会调用DialogHandler的相应方法:

  • 该DialogHandler.onAlert()时,应显示JavaScript警告对话框方法被调用。它发生在调用window.alert() JavaScript函数时。该对话框显示文本消息和“确定”按钮。在关闭“警报”对话框之前,将阻止JavaScript执行。
  • 该DialogHandler.onConfirmation()时,应显示的JavaScript确认对话框方法被调用。它发生在调用window.confirm() JavaScript函数时。该对话框显示文本消息,“确定”和“取消”按钮。如果用户单击“确定”,则该框返回true。如果用户单击“取消”,则该框返回false。在“确认”对话框关闭之前,将阻止JavaScript执行。
  • 所述DialogHandler.onPrompt()时应当显示的JavaScript提示对话框方法被调用。它发生在调用window.prompt() JavaScript函数时。该对话框显示一个文本输入字段,用户可以在其中输入一些文本,“确定”和“取消”按钮。要将新的提示文本提供回JavaScript,可以使用PromptDialogParams.setPromptText(String)方法。如果用户单击“确定”,则该框返回输入值。如果用户单击“取消”,则该框返回null。在关闭“提示”对话框之前,将阻止JavaScript执行。

默认情况下,JxBrowser不显示JavaScript对话框并使用静默模式,其中所有对话框都自动关闭,当用户单击对话框上的“ 取消”按钮时,模拟行为。

要显示JavaScript对话框,您可以注册自己的DialogHandler实现,该实现显示适当的UI对话框。例如,以下代码演示了如何注册使用Java Swing API显示Alert对话框的自定义DialogHandler实现,并取消确认和提示对话框:

browser.setDialogHandler(new DialogHandler() {
    @Override
    public void onAlert(DialogParams params) {
        String url = params.getURL();
        String title = "The page at " + url + " says:";
        String message = params.getMessage();
        JOptionPane.showMessageDialog(null, message, title, JOptionPane.PLAIN_MESSAGE);
    }

    @Override
    public CloseStatus onConfirmation(DialogParams params) {
        return CloseStatus.CANCEL;
    }

    @Override
    public CloseStatus onPrompt(PromptDialogParams params) {
        return CloseStatus.CANCEL;
    }
    ...
});

或者您可以注册 已实现的JxBrowser的 DialogHandler 实现并显示UI对话框:
Swing

import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import com.teamdev.jxbrowser.chromium.swing.DefaultDialogHandler;

Browser browser = new Browser();
BrowserView browserView = new BrowserView(browser);
browser.setDialogHandler(new DefaultDialogHandler(browserView));

JavaFX

import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.javafx.BrowserView;
import com.teamdev.jxbrowser.chromium.javafx.DefaultDialogHandler;

Browser browser = new Browser();
BrowserView browserView = new BrowserView(browser);
browser.setDialogHandler(new DefaultDialogHandler(browserView));

推荐阅读

js实现内容超出一定高度后折叠 点击展开收起

200px以外的部分内容被隐藏,底部显示蒙版图层和查看全文按钮。类似的效果请见csdn的博客内容页。#渐变{宽度:100%;高度:50px位置:绝对;底部:0;左:0;背景:-moz-linear-gradient;背景:-WebKit-gradie......

JavaScript实现选项卡切换效果

我一直比较喜欢可以切换的标签页,也就是说在同一个位置可以容纳多个容器,也就是可以容纳更多的内容,没有冗余。我认为这是一个不影响用户体验的可扩展SEO项。网上看如何实现,转载参考。//指定DOM元素类名的方法。单击它以添加活动的...

纯css实现轮播和点击切换效果(无JS)

接下来,根据需要设置ul的长度。这里,首先制作三个切换窗口,因此ul的宽度被设置为容器宽度的300%,li是每次切换时显示的子元素,宽度被设置为所显示容器的100%。所有多余的部分都被隐藏起来,这样我们就可以通过修改ul的margin-left属性的......