javafx不会显示包含某些图片的html文件

时间:2018-01-11 10:16:37

标签: java javafx webview

我尝试了几项测试来解决我的问题。我也尝试了jdk 1.9.xx,但我没有解决它。 我有一个来自oracle WebViewSample.java(javafx)的浏览器。 对于带有一些图像的html文件,我的浏览器不显示图像。 现在,我使用jdk 1.8.0_152。 html文件是(hello_old_4.html):

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset=utf-8>
<title>Hello Java-Buddy!</title>
</head>
<body>
<!--
<img src="https://i.ebayimg.com/00/s/MzAwWDMwMA==/z/b1gAAOSwX3FaKAcV/$_57.PNG">
-->
<!--
    <img src="https://imagesvc-eu1.ebay.com/imageser/v1/image/segment?site-id=101&placementlocid=IT_THU_digest_T1L&co=1&user-id=42991772536">
-->
<img src="https://imagesvc-eu1.ebay.com/imageser/v1/image/segment?site-id=101&placementlocid=IT_THU_digest_T1L&co=1&user-id=42991772536&imgWidth=1&imgHeight=1&run-date=20171207030000&placement-type=segment&TemplateId=3ca68d66-259b-482d-b412-17a8b55a665f&TrackingCode=16TE64304_T_ALL&TemplateVersion=152"
<p>Hello</p>
</body>
</html>

如果我在html文件中使用指令:

<img src="https://i.ebayimg.com/00/s/MzAwWDMwMA==/z/b1gAAOSwX3FaKAcV/$_57.PNG">

我的浏览器显示图像。 如果我在html文件中使用指令:

<img src="https://imagesvc-eu1.ebay.com/imageser/v1/image/segment?site-id=101&placementlocid=IT_THU_digest_T1L&co=1&user-id=42991772536&imgWidth=1&imgHeight=1&run-date=20171207030000&placement-type=segment&TemplateId=3ca68d66-259b-482d-b412-17a8b55a665f&TrackingCode=16TE64304_T_ALL&TemplateVersion=152">

我的浏览器无法显示图像。 我尝试过其他程序,但我有同样的情况。 如果我一次放一个,将两个图像放入firefox web bar o其他浏览器中, 始终显示图像。 我的浏览器有一些问题的java程序示例是:

package javafx_webview2;

import java.net.URL;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Region;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

/**
*
* @web http://java-buddy.blogspot.com/
*/
public class JavaFX_Browser2 extends Application {

private Scene scene;
MyBrowser myBrowser;

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    launch(args);
}

@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("java-buddy.blogspot.com");

    myBrowser = new MyBrowser();
    scene = new Scene(myBrowser, 640, 480);

    primaryStage.setScene(scene);
    String css = this.getClass().getResource("BrowserToolbar.css").toExternalForm(); 
    scene.getStylesheets().add(css);
    primaryStage.show();
}

class MyBrowser extends Region{

    final String hellohtml = "hello.html";

    WebView webView = new WebView();
    WebEngine webEngine = webView.getEngine();


    public MyBrowser(){

        URL urlHello = getClass().getResource("hello_old_4.html");
        webEngine.load(urlHello.toExternalForm());

        getChildren().add(webView);
    }
}
}

使用的样式表是(BrowserToolbar.css):

.browser{
    -fx-background-color: #666970;
}
.browser-toolbar .hyperlink, .browser-toolbar .button, .browser-toolbar{
    -fx-text-fill: white;
}
.browser-toolbar{
    -fx-base: #505359;
    -fx-background: #505359;
    -fx-shadow-highlight-color: transparent;
    -fx-spacing: 5;
    -fx-padding: 4 4 4 4;        
}

我必须放在的所有文件都在同一个目录中,在我的例子中是:javafx_webview2。 我希望能回答我的问题,谢谢。

0 个答案:

没有答案