loading URL WebView in C++

I have a property webview and URLs defined in QML as follows:

WebView {}
ID: mWebView
objectName: "mWebView."
URL: "http://www.google.com".
}

Then I try to load a different URL in C++ as follows:

mImageView = root->findChild ("mImageView");

mWebView-> setUrl (QUrl ("http://www.yahoo.com"));

mWebView-> reload();

I can say webview object has updated because of the command reload but showing google.com rather yahoo.  What is the proper way to load a new URL to an existing object of webview?

Ok. It turns out that all I need to load a new page is to call the function setUrl WebView. Reload call immediately following actually cancels the loading of the new page.

mWebView-> setUrl (QUrl ("http://www.yahoo.com"));

mWebView-> reload();

Tags: BlackBerry Developers

Similar Questions

  • New tab setting to load URL

    I had the installer of Firefox to make it work the way I like it and the last update added "suggested sites" for new tabs. I recognize what they / you are trying to create new features, but I don't like this feature. No problem with that, but I want my standard page in return she used to load. Details are always available on: config and browser.newtab.url, but he is no more responsible for this page. I removed the details for suggested sites and now it loads a blank page with a search bar. Any suggestions?

    Hi, 41 of Firefox, you must use an add-on like tab override (browser.newtab.url replacement), to make changes to the page tab.

    Once installed, open the Add-ons (Ctrl + Shift + A) Manager > Extensions, and then look for the new tab override and click Options to set your preference.

    Note, if you want only the new tab to be the same as your home page, you can use the Add on new tab homepage instead.

    You will then need to restart Firefox for all changes to take effect.

    If your question is resolved by this or another answer, please take a minute to let us know. Thank you.

  • What browser uses tide to load URL files? How to check the version of the browser

    We intend to migrate to sharepoint list files. When I insert the sharepoint url in the folders tab, it loads perfectly. When I click on the hyperlink on the page, I'm running script pop - pup - "an error has occurred in the script on this page" - class not registered (loaded scriptFiles undefined-microsoft Jscript runtime error).

    This clickable link on the page works perfectly in IE or chrome. I want to know what browser and using the version of tide. How do I check this? If I had to change the browser settings where can I do. Or if someone has encountered a similar problem, please suggest the fix.

    Thank you!

    We also used Citrix for our 5.3.1 version and it works for us (web sites and internal sharepoint 2010 & 2008 version)

    A couple of things to try

    1. customer install locally try again
    2. Permissions on wiki sharpoint Site Actions... Site permissions. The permissions of site url must end with /_layouts/user.aspx or ask your administrator SharePoint to read to users or to groups of ads that should consult the pages on the wiki (which is what we did)

    I can't speak for 5.2.2 and probably that is not supported by Cisco

    CISCO, support for YOUR extended 5.3.1 until January 31, 2016.

    Installation of the tide 6 as soon as possible,

    Marc

  • Problem loading URLS external [please..]

    Hello guys,.
    I'm usin copy the following code to execute a file and query:

    ActionScript code:
    var req:URLRequest = new URLRequest("http://site.com/z.php?id=" + user_id + "&mana=" + (Round - 1));

    var loader:URLLoader = new URLLoader();
    loader.load(req);

    When I run the swf file SAF ctrl + enter in flash cs5, it works great!

    but, when I have this download on my server its does not, or even when I run office still does not

    (do not load the url then my DB not updated)

    I don't understand why.

    Please wait for your help.

    Cool
    Please mark this topic "answered" so that people can find a solution if they have the same problem.

  • Concatenate a loaded URL of JSON

    If you have a JSON file that is loading (no problem), and one of the JSON variables is named "lelien" with a value of " " http://www.somewebsite.com "

    How you would be that concatenate in Animate.  Although the following syntax gave me no error, it worked not on one click.

    $.getJSON (myjson, {function (data)})

    {

    {sym.getSymbol("taboption2").click (function ()}

    Window.Open ((Data[0].thelink), "_parent") ;})

    }

    });

    Thank you vivekuma,

    Close! There were a couple of extra' in your string.  Also the correction on the click event has failed.  Click on the entire symbol according to my original code block.  Just {sym.getSymbol("taboption1").click (function)

    The final syntax which worked to obtain the data from the JSON object is as follows.  The only difference was I removed the "s inside" which was in your text.

    Window.Open ("" + .thelink data [0] + "", "_parent");

    Thanks a lot for your help!  Very much appreciated.

  • JavaFX how to use WebView load the local HTML page?

    JavaFX how to use WebView load the local HTML page?

    If the HTML code of the files in the class path, which is in the package, the load using one of the following ways:

    String url = Main.class.getResource("/html/index.html").toExternalForm();
    engine.load(url);
    

    The above methods can only load files outside the class path!

  • URL clicked in other programs will not load in Firefox

    Only in the last weeks of 1-3 (?) or so, I find that I can not click on links in other programs and have load URL in Firefox, which is my default browser. They always used to load perfectly and move me to the new tab in FF, but now they do not have.

    At first I tried to disable some recent FF modules one at a time to see if one of them could have been the problem, but that does not resolve, even though I may have missed one. Yet, I can't imagine how an independent add-on could cause URLs do not load from other programs. I tried to load the URL by clicking on it in Thunderbird, WordPad, MailWasher Pro and free agency, but each of them either just trembled at the screen for a moment and then stopped, or gave me a message such as 'WordPad could not open the URL' or ' there was a problem sending a command to the program "(free agency). However, when I copy and paste these URLS even in FF and press ENTER, these sites load perfectly.

    I may be wrong in the present, but it seems that something has changed in the FF that now prevents the links clicked in other programs from loading. My only other thought at the moment, it's that this peut eventually began all the time I upgraded from FF 10.0.2 to FF 11.0.1, but I have no evidence to support this theory.

    It's really an annoying problem and embarrassing, so any help to solve it will be much appreciated!

    Thank you
    Al

    The problem is solved now, as a result of assistance that I'm on WindowsSecrets forum. Once I realized that the problem occurred only with PCM and Thunderbird, but with other programs as well (I tried WordPad and free agency, which didn't even load the URL in Firefox), I posted the question on other forums, trying to see if others knew something about this issue. I got the answer of a member of the forum on this page:

       http://windowssecrets.com/forums/showthread.php/145441-URLs-clicked-in-other-programs-won-t-load-in-Firefox?p=847784#post847784
    

    In case you are not a member it or may not load this page, here is her suggestion:

       With FF closed type %APPDATA%\Mozilla\Firefox\Profiles\ in the start menu search box, click the item that appears and delete localstore.rdf FF will replace it on starting.
    

    I did this and all four programs that had previous problems loading of the URL, including MWC, now load them perfectly. The only (small) problem with this solution was localstore.rdf apparently saves all information about things like the Firefox toolbars and their customization, so all that was lost when I deleted the file, but I re-adapted quite quickly and everything is fine. Any thoughts about what localstore.rdf does, why this problem happened, or how to do to prevent it happening again will be appreciated.

    I hope this info helps. Thanks again for your help.

    Kind regards
    Al

  • JavaFX 2.0 WebView crashes if the application is signed

    I use WebView to provide a set of help pages in my application.
    The help pages are included in a resource directory called html.

    I get the first URL with the following lines of code:
    Index URL = NgpConfiguratorApp.class.getResource("/html/index.html");
    String url = "file://" + index.getPath ();

    I then open the URL with WebView and it works perfectly.
    I am able to browse my help pages perfectly.

    However if I sign the pot (of in NetBeans using the valid signature 6 months) and then run the program, everything works perfectly (access of database XML import/export etc.) until I tried access help pages through WebView to which PR\648606FR the program hangs up completely.

    Is this a bug in the Web view or am I missing something. I've included the complete class list below.


    COMPLETE LIST
    ============

    SerializableAttribute public class HelpBrowser extends scene {}

    public HelpBrowser() {}
    Super();
    init();
    }


    private void init() {}
    Point primaryStage = new Stage();
    primaryStage.setTitle ("AviatorCalc Help Pages");

    Index URL = NgpConfiguratorApp.class.getResource("/html/index.html");
    String url = "file://" + index.getPath ();
    Root of group = new Group();
    primaryStage.setScene (new Scene (root));
    WebView view = new WebView();

    view.setMinSize(1024, 768);
    view.setPrefSize(1024, 768);
    final WebEngine eng = view.getEngine ();
    Eng. Load (URL);

    final locationField TextField = new TextField (url);
    locationField.setMaxHeight (Double.MAX_VALUE);
    GoButton button = new Button ("Go");
    BackButton button = new Button ("Back");
    goButton.setDefaultButton (true);
    goButton.setId ("browserbutton");

    EventHandler < ActionEvent > goAction = new EventHandler < ActionEvent > () {}

    @Override
    {} public void handle (ActionEvent event)
    Eng. Load (locationField.GetText (). StartsWith("")? locationField.getText)
    (: ' "+ locationField.getText ());
    }
    };
    goButton.setOnAction (goAction);
    locationField.setOnAction (goAction);
    eng.locationProperty () .addListener (new ChangeListener < String > () {}

    @Override
    public void changed (ObservableValue <? extends String > observable, String oldValue, String newValue) {}
    locationField.setText (newValue);
    }
    });
    Grid GridPane = new GridPane();
    grid.setVgap (5);
    grid.setHgap (5);
    GridPane.setConstraints (locationField, 0, 0, 1, 1, HPos.CENTER, VPos.CENTER, Priority.ALWAYS, Priority.SOMETIMES);
    GridPane.setConstraints (goButton, 1, 0);
    GridPane.setConstraints (goButton, 2, 0);
    GridPane.setConstraints (display, 0, 1, 2, 1, HPos.LEFT, VPos.CENTER, Priority.ALWAYS, Priority.ALWAYS);
    grid.getColumnConstraints (.addAll)
    New ColumnConstraints (500, 100, Double.MAX_VALUE, Priority.ALWAYS, HPos.CENTER, true);
    New ColumnConstraints (40, 40, 40, Priority.NEVER, HPos.CENTER, true));
    grid.getChildren () .addAll (locationField, goButton, view);
    grid.getChildren () .addAll (view);
    root.getChildren () .add (grid);
    primaryStage.show ();
    }
    }

    This seems suspect-online

    URL index = NgpConfiguratorApp.class.getResource("/html/index.html");
    String url = "file://" + index.getPath();
    

    In my view, adding the file:// Protocol when the resource is loaded from the pot will not.

    To load html from the classpath in WebView all that you need to do is place the HTML is the same package as the class Java calling the load method and call:

    engine.load(getClass().getResource("mypage.html").toExternalForm());
    
  • WebView ListView data Page

    I have a ListView that ItemData containing Web sites. When you select an item, it pushes a page from the data. I can view the data. Then I have an action button that pushes another page with a WebView. The problem I have is that the WebView never is completed and said that the web page is unavilable. I have a label that does not display the correct Web page and I can also get the Web page to display if I put the url directly to the page.

    Here is the code:

        actions:  [
            ActionItem {
                title: qsTr("View")
                imageSource: "asset:///icons/actions/view.png"
                onTriggered: {
                    var page = htmlPage.createObject();
                    page.url = "http://www.google.com";
                    console.log(page.url);
                    navPane.push(page);
                }
    
            }
        ]
    
    import bb.cascades 1.2
    
    Page {
    
        property string  url
    
        id: htmlPage
        Container {
            preferredWidth: Infinity
            preferredHeight: Infinity
            verticalAlignment: VerticalAlignment.Center
            horizontalAlignment: HorizontalAlignment.Center
            WebView {
                id: webView
                settings.background: Color.Black
                url: url
            }
           Label {
               text: url
               textStyle.fontSize: FontSize.XXSmall
            }
        }
    }
    

    I tried a lot of different things without success. Anyone have this type of process work?

    All of a sudden, it came to me.

        property alias url : webView.url
    
  • Activity indicator for loading data model

    Hello

    I'm looking in using an activity indicator to show for my list view to load the user (as it takes 2-3 seconds to display list to be filled with data that it receives the files from my server).

    Here is my list view & data source:

    ListView {
                                    id: listView1
                                    dataModel: dataModel1
    
                                    leadingVisual: [
                                        Container {
                                            id: dropDownContainer1
                                            topPadding: 20
                                            leftPadding: 20
                                            rightPadding: 20
                                            bottomPadding: 20
                                            background: Color.create("#212121")
                                            DropDown {
                                                id: dropDown1
                                                title: qsTr("Date:") + Retranslate.onLocaleOrLanguageChanged
                                                Option {
                                                    id: all
                                                    text: qsTr("All") + Retranslate.onLocaleOrLanguageChanged
                                                    selected: true
                                                }
                                                Option {
                                                    text: qsTr("23/06/2014")
                                                    value: "23/06/2014"
                                                }
                                                Option {
                                                    text: qsTr("24/06/2014")
                                                    value: "24/06/2014"
                                                }
                                                Option {
                                                    text: qsTr("25/06/2014")
                                                    value: "25/06/2014"
                                                }
                                                Option {
                                                    text: qsTr("26/06/2014")
                                                    value: "26/06/2014"
                                                }
                                                Option {
                                                    text: qsTr("27/06/2014")
                                                    value: "27/06/2014"
                                                }
                                                Option {
                                                    text: qsTr("28/06/2014")
                                                    value: "28/06/2014"
                                                }
                                                Option {
                                                    text: qsTr("29/06/2014")
                                                    value: "29/06/2014"
                                                }
                                                Option {
                                                    text: qsTr("30/06/2014")
                                                    value: "30/06/2014"
                                                }
                                                Option {
                                                    text: qsTr("01/07/2014")
                                                    value: "July 1 2014"
                                                }
                                                Option {
                                                    text: qsTr("02/07/2014")
                                                    value: "July 2 2014"
                                                }
                                                Option {
                                                    text: qsTr("03/07/2014")
                                                    value: "July 3 2014"
                                                }
                                                Option {
                                                    text: qsTr("04/07/2014")
                                                    value: "July 4 2014"
                                                }
                                                Option {
                                                    text: qsTr("05/07/2014")
                                                    value: "July 5 2014"
                                                }
                                                Option {
                                                    text: qsTr("06/07/2014")
                                                    value: "July 6 2014"
                                                }
                                                onSelectedIndexChanged: {
                                                    if (selectedOption == all) {
                                                        dropDownDataSource1.sQuery = ""
                                                    } else
                                                        dropDownDataSource1.sQuery = dropDown1.at(dropDown1.selectedIndex).value;
                                                }
                                            }
                                        }
                                    ]
    
                                    listItemComponents: [
                                        ListItemComponent {
                                            type: "item"
                                            StandardListItem {
                                                title: ListItemData.fixtureInfo
                                                description: Qt.formatTime(new Date(ListItemData.timestamp * 1))
                                            }
                                        }
                                    ]
    
                                    onTriggered: {
                                        var selectedItem = dataModel1.data(indexPath);
                                        var detail = fixtures.createObject();
    
                                        detail.fixtureInfo = selectedItem.fixtureInfo
                                        detail.dateInfo = selectedItem.dateInfo
                                        detail.timeInfo = selectedItem.timeInfo
                                        detail.timeZone = Qt.formatTime(new Date(selectedItem.timestamp * 1))
                                        detail.courtInfo = selectedItem.courtInfo
                                        detail.resultInfo = selectedItem.resultInfo
    
                                        navigationPane1.push(detail)
                                    }
                                }
    
    GroupDataModel {
                        id: dataModel1
                        sortingKeys: [ "dateNumber", "id" ]
                        grouping: ItemGrouping.ByFullValue
                        sortedAscending: false
                    },
                    DataSource {
                        id: dataSource1
                        property string sQuery: ""
                        onSQueryChanged: {
                            dataModel1.clear()
                            load()
                        }
                        source: "http://tundracorestudios.co.uk/wp-content/uploads/2014/06/Fixtures.json"
                        type: DataSourceType.Json
    
                        onDataLoaded: {
                            //create a temporary array tohold the data
                            var tempdata = new Array();
                            for (var i = 0; i < data.length; i ++) {
    
                                tempdata[i] = data[i]
    
                                //this is where we handle the search query
                                if (sQuery == "") {
                                    //if no query is made, we load all the data
                                    dataModel1.insert(tempdata[i])
                                } else {
                                    //if the query matches any part of the country TITLE, we insert that into the list
                                    //we use a regExp to compare the search query to the COUNTRY TITLE (case insenstive)
                                    if (data[i].fixtureInfo.search(new RegExp(sQuery, "i")) != -1) {
                                        dataModel1.insert(tempdata[i])
    
                                        //Otherwise, we do nothingand donot insert the item
                                    }
    
                                }
    
                            }
    
                            // this if statement below does the same as above,but handles the output if there is only one search result
                            if (tempdata[0] == undefined) {
                                tempdata = data
    
                                if (sQuery == "") {
                                    dataModel1.insert(tempdata)
                                } else {
                                    if (data.fixtureInfo.search(new RegExp(sQuery, "i")) != -1) {
                                        dataModel1.insert(tempdata)
                                    }
                                }
                            }
                        }
                        onError: {
                            console.log(errorMessage)
                        }
                    },
    
    onCreationCompleted: {
                    dataSource1.load()
                }
    

    In another part of my application, I use an activity indicator to load a webView but I couldn't reshape it for the list view.

    The following code works when my webView loads:

    WebView {
                        id: detailsView
                        settings.zoomToFitEnabled: true
                        settings.activeTextEnabled: true
                        settings.background: Color.Transparent
                        onLoadingChanged: {
                            if (loadRequest.status == WebLoadStatus.Started) {
    
                            } else if (loadRequest.status == WebLoadStatus.Succeeded) {
                                webLoading.stop()
                            } else if (loadRequest.status == WebLoadStatus.Failed) {
    
                            }
                        }
                        settings.defaultFontSize: 16
                    }
    
    Container {
                id: loadMask
                background: Color.Black
                layout: DockLayout {
    
                }
                verticalAlignment: VerticalAlignment.Fill
                horizontalAlignment: HorizontalAlignment.Fill
                Container {
                    leftPadding: 10.0
                    rightPadding: 10.0
                    topPadding: 10.0
                    bottomPadding: 10.0
                    horizontalAlignment: HorizontalAlignment.Center
                    verticalAlignment: VerticalAlignment.Center
                    ActivityIndicator {
                        id: webLoading
                        preferredHeight: 200.0
                        preferredWidth: 200.0
                        horizontalAlignment: HorizontalAlignment.Center
                        onStarted: {
                            loadMask.setVisible(true)
                        }
                        onStopping: {
                            loadMask.setVisible(false)
                        }
                    }
                    Label {
                        text: "Loading Content..."
                        horizontalAlignment: HorizontalAlignment.Center
                        textStyle.fontSize: FontSize.Large
                        textStyle.fontWeight: FontWeight.W100
                        textStyle.color: Color.White
                    }
                }
            }
    
    onCreationCompleted: {
            webLoading.start()
        }
    

    Therefore, what I am trying to make is: get the activity indicator to show when the list view is charging and when it's over, for the activity indicator be invisible. Also, if the user doesn't have an internet connection or loses the signal while the data is filling: would it be possible to recover data from a file stored locally instead ("asset:///JSON/Fixtures.json")?

    Thanks in advance

    With the help of a few other developers I maneged to make everything work properly.

    Jeremy Duke pointed out that I would need to use the onItemAdded in my data model of the Group:

    onItemAdded: {
                            myActivityIndicator.stop();
                            myActivityIndicator.visible = false;
                            loadMask.visible = false;
                            searchingLabel.visible = false;
                        }
    

    Adding that, the loading stops when an element has completed the list.

    Thanks for your help

  • Encode the part of the URL (search)

    I want to be able to do a search on Google in a webview, by setting the URL "'https://www.google.com/search?&q= ' + 'Search'."

    The problem is that if the query contains a sign, + it get interpreted as a space (which is happening in a few popular applications, including the browser of evolution).

    I read that encodeURIComponent should solve this problem, so I changed the code for "'https://www.google.com/search?&q= ' + encodeURIComponent("+"), but research that results is actually % 2B."  Strangely, when I type the resulting URL in my computer, I get the correct result (a search of +).

    import bb.cascades 1.2
    
    Page {
        property string search: "https://www.google.com/search?&q=" + encodeURIComponent("+")
        Container {
            TextField {
                text: web.url
            }
        WebView {
            id: web
            url: search
        }
        }
    }
    

    This is the minimum project, I used to test my code.

  • How to limit a swf file loaded in a scene or a layer?

    I imported a swf file in my main swf file, but I want to limit the file that I imported to a layer of surden and managers / scene.

    Can someone show me a nice easy way to do this? -Thanks in advance!

    The code I've used so far is:


    import flash.ui.Mouse;

    var myLoader:Loader = new Loader();

    var url: URLRequest = new URLRequest ("myexternalfile.swf");

    myLoader.load (url);

    addChild (myLoader);

    (optional)

    myLoader.x = 550;

    myLoader.y = 100;

    I corrected, thanks for trying to help me

    I used the code:

    If (myLoader! = null)

    {

    myLoader.unloadAndStop ();

    removeChild (myLoader);

    myLoader = null;

    }

  • Strange behavior on the web page of preloading in WebView

    I have the following problem: in my Swing application, I want to display a web page. To do this, I use a JFXPanel that contains a WebView. The web page must be loaded in the background, and only if the loading process is totally finished I want to make the JFXPanel visible. I use thegetLoadWorker().workDoneProperty() method of the corresponding WebEngine to determine if the page is totally loaded.

    The problem is, now that the JFXPanel gets visible, I see initially a totally empty Board, and after a short period, the web page in Web view is visible. I made a simple Application demo that reproduces this behavior. If the page is loaded, a button is enabled and clicking on this button adds the WebView Panel below. In addition the link following points to an animated gif that shows the behavior: http://tinypic.com/view.php?pic=oh66bl & s = 5 #. Ujv2IhddWKl

    Here is the code of the demo application:

    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javafx.application.Platform;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.embed.swing.JFXPanel;
    import javafx.scene.Scene;
    import javafx.scene.web.WebEngine;
    import javafx.scene.web.WebView;
    import javax.swing.JFrame;
    import javax.swing.SwingUtilities;
    public class WebViewTest extends javax.swing.JPanel {
    
       private static JFXPanel browserFxPanel;
       private WebView webView;
       private WebEngine eng;
    
       /**
      * Creates new form WebViewTest
      */
       public WebViewTest() {
      initComponents();
       Platform.setImplicitExit(false);
      browserFxPanel = new JFXPanel();
       Platform.runLater(new Runnable() {
       public void run() {
      webView = createBrowser();
       Scene scene = new Scene(webView);
      scene.setFill(null);
      browserFxPanel.setScene(
      scene);
       }
       });
       }
    
       /**
      * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The
      * content of this method is always regenerated by the Form Editor.
      */
       @SuppressWarnings("unchecked")
       // <editor-fold defaultstate="collapsed" desc="Generated Code">  
       private void initComponents() {
      java.awt.GridBagConstraints gridBagConstraints;
    
      pnlMain = new javax.swing.JPanel();
      showWebpageButton = new javax.swing.JButton();
    
      setLayout(new java.awt.GridBagLayout());
    
      pnlMain.setLayout(new java.awt.BorderLayout());
      gridBagConstraints = new java.awt.GridBagConstraints();
      gridBagConstraints.gridx = 0;
      gridBagConstraints.gridy = 1;
      gridBagConstraints.gridwidth = 3;
      gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
      gridBagConstraints.weightx = 1.0;
      gridBagConstraints.weighty = 1.0;
      add(pnlMain, gridBagConstraints);
    
      showWebpageButton.setText("show web page");
      showWebpageButton.setEnabled(false);
      showWebpageButton.addActionListener(new java.awt.event.ActionListener() {
       public void actionPerformed(java.awt.event.ActionEvent evt) {
      showWebpageButtonActionPerformed(evt);
       }
       });
      gridBagConstraints = new java.awt.GridBagConstraints();
      gridBagConstraints.gridx = 1;
      gridBagConstraints.gridy = 0;
      gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
      add(showWebpageButton, gridBagConstraints);
       }// </editor-fold>  
    
       private void showWebpageButtonActionPerformed(java.awt.event.ActionEvent evt) {   
      pnlMain.removeAll();
      pnlMain.add(browserFxPanel, BorderLayout.CENTER);
       WebViewTest.this.invalidate();
       WebViewTest.this.revalidate();
       }   
       // Variables declaration - do not modify  
       private javax.swing.JPanel pnlMain;
       private javax.swing.JButton showWebpageButton;
       // End of variables declaration  
    
       private WebView createBrowser() {
       Double widthDouble = pnlMain.getSize().getWidth();
       Double heightDouble = pnlMain.getSize().getHeight();
       final WebView view = new WebView();
      view.setMinSize(widthDouble, heightDouble);
      view.setPrefSize(widthDouble, heightDouble);
      eng = view.getEngine();
      eng.load("http://todomvc.com/architecture-examples/angularjs/#/");
      eng.getLoadWorker().workDoneProperty().addListener(new ChangeListener<Number>() {
       public void changed(ObservableValue<? extends Number> ov, Number t, Number t1) {
       final double workDone = eng.getLoadWorker().getWorkDone();
       final double totalWork = eng.getLoadWorker().getTotalWork();
       if (workDone == totalWork) {
      showWebpageButton.setEnabled(true);
       }
       }
       });
       return view;
       }
    
       public static void main(String[] args) {
       SwingUtilities.invokeLater(new Runnable() {
       public void run() {
       final JFrame f = new JFrame("Navigator Dummy");
      f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
      f.setSize(new Dimension(1024, 800));
       final WebViewTest navDummy = new WebViewTest();
      f.getContentPane().add(navDummy);
      f.setVisible(true);
       }
       });
       }
    }
    
    
    

    I don "t understand this behavior, in fact the page has already been loaded. To me, it seems that the WebView starts to render the site just to the point where it becomes visible. What can I do to get the WebView already shows the web page is loaded right now that it becomes Visible (to avoid this effect of flickr)?

    I already posted this question on StackOverflow (see http://stackoverflow.com/questions/18873315/javafx-webview-loading-page-in-background ) but didn't get an answer and found this forum today.

    Thanks in advance!

    Try the updated version in this post.

    It requires a snapshot offscreen before displaying the Web mode to make sure all is rendered before the Web is displayed.

    The code is kind of ugly and the 'solution' is a bit of a hack, you would probably want to clean it up a bit before using it anywhere (for example, there is no need to create a new WebView and snapshot, web page on each load - I did it just to get a feel for the worst-case scenario and try to pinpoint where are produce slowdowns).

    A small rectangle moves back on the top of the screen so that the fluidity of the animation can be monitored.

    On the first charge, there will be a slight stutter in the animation, but the rendered web page instantly appears when click the show page"" button.

    As you say, the stuttering occurs only the first time the page is loaded, then everything is smooth.  If you use a progress bar regular instead of an animation, the initial stuttering is probably fine, because people expect to see breaks in the progress bars from time to time (more progress reported by progress bars is not a smooth linear progression).  My guess is that if you use a regular progress bar, the behavior seen with this example is probably acceptable for almost all users.

    As for the differences between the rendering between 2.2 JavaFX and JavaFX 8, there was a lot of changes to the internal architecture of JavaFX for JavaFX 8 that have improved rendering performance, as well as probably represents the delta.

    import javafx.animation.*;
    import javafx.application.Application;
    import javafx.concurrent.Worker;
    import javafx.geometry.*;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Rectangle;
    import javafx.scene.web.WebView;
    import javafx.stage.Stage;
    import javafx.util.Duration;
    
    public class WebViewJavaFXTest extends Application {
        public static final String PAGE_URL = "http://todomvc.com/architecture-examples/angularjs/#/";
        private Rectangle distractor;
    
        @Override
        public void start(Stage stage) throws Exception {
            distractor = new Rectangle(20, 20, Color.CORAL);
            TranslateTransition r = new TranslateTransition(Duration.seconds(10), distractor);
            r.setFromX(0);
            r.setToX(800);
            r.setInterpolator(Interpolator.LINEAR);
            r.setCycleCount(RotateTransition.INDEFINITE);
            r.setAutoReverse(true);
            r.play();
    
            VBox layout = initView();
            stage.setScene(new Scene(layout));
            stage.show();
        }
    
        private VBox initView() {
            final ProgressBar progress = new ProgressBar();
            final Button showWebView = new Button("Show Page");
            showWebView.setDisable(true);
            HBox controls = new HBox(
                    10,
                    progress,
                    showWebView
            );
            controls.setAlignment(Pos.CENTER_LEFT);
            Button tryAgain = new Button("Try Again");
            tryAgain.setOnAction(actionEvent ->
                    tryAgain.getScene().setRoot(
                            initView()
                    )
            );
    
            StackPane webViewHolder = new StackPane();
            webViewHolder.setPrefSize(1024, 700);
    
            final WebView webView = new WebView();
            progress.progressProperty().bind(
                    webView.getEngine().getLoadWorker().progressProperty()
            );
            webView.setPrefSize(1024, 700);
            webView.getEngine().load(PAGE_URL);
            webView.getEngine().getLoadWorker().stateProperty().addListener(
                    (o, old, state) -> {
                        if (state == Worker.State.SUCCEEDED) {
                            webView.snapshot(
                                    snapshotResult -> {
                                        showWebView.setDisable(false);
                                        return null;
                                    },
                                    null,
                                    null
                            );
                        } else {
                            showWebView.setDisable(true);
                        }
                    }
            );
    
            showWebView.setOnAction(actionEvent -> {
                controls.getChildren().setAll(
                        tryAgain
                );
                webViewHolder.getChildren().setAll(webView);
            });
            VBox layout = new VBox(
                    10,
                    distractor,
                    controls,
                    webViewHolder
            );
            layout.setPadding(new Insets(10));
    
            return layout;
        }
    
        public static void main(String[] args) {
            launch();
        }
    
    }
    
  • Error on the submission form, which is loaded by AJAX with $. post()

    Hi guys!

    On this example Page , I'm loading a form of the APEX of another page in an area with

    function loadForm(){
        var url = 'f?p=&APP_ID.:271:&APP_SESSION.::::';
        url += 'P271_CITID:'+ $v('P270_SELCITY');
        url += ' .rc-body';
        $('#loaddiv .nice-region-body').load(url);
    }

    with a click of the button.

    I get an error then, because I'm probably the substitution of APEX-important features. Is there a way to bypass? Can I change the page templates, so that the form on the other page tags are also responsible, but then I wouldn't have a form on the page, I am loading to.

    (Apex-Version is 4.2)

    Thanks for any help.

    Best regards

    Tobi

    Edit: What I'm aiming for is to have a report on this first page, and support different forms according to a selection in a context menu that appears when the user clicks a record on the report. Each form should be shown in a modal dialog box.

    I could also load the form - not in a region on the first page - but in a modal split window, but this would make the entire application a clumsy but.

    Message geändert durch TobiP

    Message geändert durch TobiP

    what the hell happened to the editor here? Formerly, you can use {code}... {code}

    Hi Toby, fortunately this is an easy solution.

    Go to change the properties of the Application-> Security

    Or components shared-> security - security attributes

    (They are the same thing).

    Under the browser security change the Embed in frames setting to allow the same origin.

    This will allow your iframe load.

    I should just mention, the plugin will not allow you to make multiple modal windows, but is not that 'fat' and it is a solid solution.  But it seems that you are on the right track with the iframe.

    Good luck, sounds like a good activity.

    Thank you

    -Jorge

  • ControllerFactory in FXMLLoader not called during the loading of uri

    Im trying to use the method setControllerFactory() FXMLLoader for injection of dependence, but stumbled upon a problem that looks like a bug to me. The controller factory works fine when loading the input stream fxml, but do not get called during the loading of a uri. I wrote a simple unit test to illustrate the issue:
    public class FXMLLoaderTest {
    
         private FXMLLoader loader;
    
         @Test
         public void testFXMLFactory() throws IOException {
              FXMLLoader loader = new FXMLLoader();
              Callback<Class<?>, Object> callback = new Callback<Class<?>, Object>() {
                   @Override
                   public Object call(Class<?> aClass) {
                        System.out.println("Controller factory called");
                        return new String("Works");
                   }
              };
              loader.setControllerFactory(callback);
              
              // This makes the test fail
              //Object node = loader.load(getClass().getClassLoader().getResource("controllerTest.fxml"));
              
              // While this works as expected
              Object node = loader.load(getClass().getClassLoader().getResourceAsStream("controllerTest.fxml"));
    
              assertThat(loader.getController(), is(equalTo((Object) "Works")));
         }
    }
    IM using javafx 2.2 shipped with JDK 7u21. Am I missing something or do I have to file an issue for this?

    FXMLLoader.load (URL) is a static method, so your commented line

    Object node = loader.load(getClass().getClassLoader().getResource("controllerTest.fxml"));
    

    is equivalent to (and probably should be written as)

    Object node = FXMLLoader.load(getClass().getClassLoader().getResource("controllerTest.fxml"));
    

    Obviously, the static method is not aware of the controller factory that you set on your instance of FXMLLoader.

    To use a URL with an instance of FXMLLoader, to either pass the URL to the FXMLLoader constructor:

    FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("controllerTest.fxml"));
    

    method setLocation (...) or:

    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(getClass().getClassLoader().getResource("controllerTest.fxml"));
    

    and then set the same controller factory.

Maybe you are looking for