<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                JxBrowser 6.11及更高版本提供了API,允許您處理標準(例如HTTP,HTTPS,FTP等)和非標準(例如JAR,MYPROTOCOL等)協議的URL請求。以下示例演示如何為標準HTTPS協議注冊協議處理程序以及如何使用自定義數據進行響應: ``` import com.teamdev.jxbrowser.chromium.*; import com.teamdev.jxbrowser.chromium.swing.BrowserView; import javax.swing.*; import java.awt.*; public class ProtocolHandlerSample { public static void main(String[] args) { Browser browser = new Browser(); BrowserView view = new BrowserView(browser); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(view, BorderLayout.CENTER); frame.setSize(700, 500); frame.setLocationRelativeTo(null); frame.setVisible(true); BrowserContext browserContext = browser.getContext(); ProtocolService protocolService = browserContext.getProtocolService(); protocolService.setProtocolHandler("https", new ProtocolHandler() { @Override public URLResponse onRequest(URLRequest request) { URLResponse response = new URLResponse(); String html = "<html><body><p>Hello there!</p></body></html>"; response.setData(html.getBytes()); response.getHeaders().setHeader("Content-Type", "text/html"); return response; } }); browser.loadURL("https://google.com/"); } } ``` 您可以使用相同的方法來處理自定義的非標準協議(例如“teamdev”)。例如: ``` import com.teamdev.jxbrowser.chromium.*; import com.teamdev.jxbrowser.chromium.swing.BrowserView; import javax.swing.*; import java.awt.*; public class ProtocolHandlerSample { public static void main(String[] args) { Browser browser = new Browser(); BrowserView view = new BrowserView(browser); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(view, BorderLayout.CENTER); frame.setSize(700, 500); frame.setLocationRelativeTo(null); frame.setVisible(true); BrowserContext browserContext = browser.getContext(); ProtocolService protocolService = browserContext.getProtocolService(); protocolService.setProtocolHandler("teamdev", new ProtocolHandler() { @Override public URLResponse onRequest(URLRequest request) { URLResponse response = new URLResponse(); String html = "<html><body><p>Hello there!</p></body></html>"; response.setData(html.getBytes()); response.getHeaders().setHeader("Content-Type", "text/html"); return response; } }); browser.loadURL("teamdev://custom-request/"); } } ``` 也可以為JAR協議注冊自定義協議處理程序。它允許您直接從包含在應用程序類路徑中的JAR庫加載HTML文件: ``` import com.teamdev.jxbrowser.chromium.*; import com.teamdev.jxbrowser.chromium.swing.BrowserView; import javax.swing.*; import java.awt.*; import java.io.DataInputStream; import java.io.InputStream; import java.net.URL; public class ProtocolHandlerSample { public static void main(String[] args) { final Browser browser = new Browser(); BrowserView view = new BrowserView(browser); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(view, BorderLayout.CENTER); frame.setSize(700, 500); frame.setLocationRelativeTo(null); frame.setVisible(true); BrowserContext browserContext = browser.getContext(); ProtocolService protocolService = browserContext.getProtocolService(); protocolService.setProtocolHandler("jar", new ProtocolHandler() { @Override public URLResponse onRequest(URLRequest request) { try { URLResponse response = new URLResponse(); URL path = new URL(request.getURL()); InputStream inputStream = path.openStream(); DataInputStream stream = new DataInputStream(inputStream); byte[] data = new byte[stream.available()]; stream.readFully(data); response.setData(data); String mimeType = getMimeType(path.toString()); response.getHeaders().setHeader("Content-Type", mimeType); return response; } catch (Exception ignored) {} return null; } }); // Assume that we need to load a resource related to this class in the JAR file browser.loadURL(ProtocolHandlerSample.class.getResource("index.html").toString()); } private static String getMimeType(String path) { if (path.endsWith(".html")) { return "text/html"; } if (path.endsWith(".css")) { return "text/css"; } if (path.endsWith(".js")) { return "text/javascript"; } return "text/html"; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看