iframe中的自动执行.exe

时间:2015-10-15 11:26:41

标签: javascript java html5 iframe autorun

我正在尝试在iframe中自动运行Setup.exe。

一旦注册后网站访问者进入客户面板,就会弹出一个java窗口来运行setup.exe

此软件将被执行为我的客户提供帮助台的远程访问程序。

因此,我尝试使用客户端直接从页面运行我的可执行文件,而无需下载。

查看我如何做的示例:

main.js

var btnTitleChange = $.button("Let\'s change Frame title")
    .on_click(changeTitle,"Wow, I changed!");

var frame = $.frame("Demo Application")
    .layout($.layout("table",[[20,-1,20],[20,40,10,-1,20]]))
    .add($.button("About").on_click(alert),"1,1")
    .add(btnTitleChange,"1,3");

frame.show();

function changeTitle(title){frame.title(title);}

function alert(){
    js.alert("Welcome to JavaScript executable!"); };

包括/ java.js

importPackage(Packages.java.lang)
importPackage(Packages.java.awt)
importPackage(Packages.java.awt.event)
importPackage(Packages.javax.swing)
importPackage(Packages.info.clearthought.layout);

//============================= START OF CLASS ==============================//
//CLASS: java_object                                                         //
//===========================================================================//
 /**
  * A reference to the Java Object class
  * @class
  */
java_object = function(inst){
    /**
     * Data container for this object
     * @private
     */
    this._d = {}
    /**
     * Contains the actual Java instance for this object
     * To access it use the <b>instance()</b> method
     * @private
     */
    this._inst = new java.lang.Object();    
    this.instance = function(){return this._inst;}
    this.equals = function(o){return (undefined===o._inst)?false:this._inst.equals(o.instance());}
    this.getClass = function(){return this.instance().getClass();}
    this.hashCode = function(){return this.instance().hashCode();}
    this.toString = function(){return this.instance().toString();}
};
//===========================================================================//
//CLASS: java_object                                                         //
//============================== END OF CLASS ===============================//

//============================= START OF CLASS ==============================//
//CLASS: java_component                                                      //
//===========================================================================//
 /**
  * A reference to the Java Component class
  * @augments java_object
  * @class
  */
java_component = function(){
    this._inst = null;
    //========================= START OF METHOD ===========================//
    //  METHOD: on_click                                                   //
    //=====================================================================//
       /**
        * Sets a function to be executed, when the mouse is clicked over this
        * widget
        * @param title the title to be shown in the frame
        * @type mixed
        */
    this.on_click=function(fn,arg1,arg2,arg3){
        var adapter  = new java.awt.event.MouseAdapter() {  mousePressed: function(e){fn(arg1,arg2,arg3);} };        
        this.instance().addMouseListener(adapter);
        return this;
    };
    //=====================================================================//
    //  METHOD: on_click                                                   //
    //========================== END OF METHOD ============================//
};
java_component.prototype = new java_object();
java_component.constructor == java_object;
//===========================================================================//
//CLASS: java_component                                                      //
//============================== END OF CLASS ===============================//

//============================= START OF CLASS ==============================//
//CLASS: java_container                                                         //
//===========================================================================//
 /**
  * A reference to the Java Container class
  * @augments java_component
  * @class
  */
java_container = function(){
    this._inst = new java.awt.Container();  
    //========================= START OF METHOD ===========================//
  //  METHOD: add                                                        //
  //=====================================================================//
       /**
        * Adds an object to the container.
        * @type void
        */
    this.add=function(object,constraints){
        if(undefined==constraints){
            (undefined===object.instance)?this.instance().add(object):this.instance().add(object.instance());
        }else{
            if(constraints.toUpperCase()=="NORTH"){
                (undefined===object.instance)?this.instance().add(object,BorderLayout.NORTH):this.instance().add(object.instance(),BorderLayout.NORTH);
            }else if(constraints.toUpperCase()=="SOUTH"){
                (undefined===object.instance)?this.instance().add(object,BorderLayout.SOUTH):this.instance().add(object.instance(),BorderLayout.SOUTH);
            }else if(constraints.toUpperCase()=="EAST"){
                (undefined===object.instance)?this.instance().add(object,BorderLayout.EAST):this.instance().add(object.instance(),BorderLayout.EAST);
            }else if(constraints.toUpperCase()=="WEST"){
                (undefined===object.instance)?this.instance().add(object,BorderLayout.WEST):this.instance().add(object.instance(),BorderLayout.WEST);
            }else{
                (undefined===object.instance)?this.instance().add(object,constraints):this.instance().add(object.instance(),constraints);
            }
        }
        return this;
    };
  //=====================================================================//
  //  METHOD: add                                                        //
  //========================== END OF METHOD ============================//

  //========================= START OF METHOD ===========================//
  //  METHOD: layout                                                     //
  //=====================================================================//
       /**
        * Sets the layout for this container.
        * @type void
        */
    this.layout = function(layout){
        (undefined===layout.instance)?this.instance().setLayout(layout):this.instance().setLayout(layout.instance());
        return this;
    };
    //=====================================================================//
  //  METHOD: layout                                                     //
  //========================== END OF METHOD ============================//

    return this;
}
java_container.prototype = new java_component();
java_container.constructor == java_component;
//===========================================================================//
//CLASS: j_container                                                         //
//============================== END OF CLASS ===============================//

//============================= START OF CLASS ==============================//
//CLASS: java_frame                                                          //
//===========================================================================//
 /**
  * A reference to the Java Window class
  * @class
  */
java_frame = function(title){
    this._inst = (undefined===title)?new javax.swing.JFrame(""):new javax.swing.JFrame(title);  
    this._inst.setSize(600,400);    
    this._inst.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    //========================= START OF METHOD ===========================//
  //  METHOD: show                                                       //
  //=====================================================================//
    this.show=function(){this._inst.setVisible(true);};
    //=====================================================================//
  //  METHOD: show                                                       //
  //========================== END OF METHOD ============================//

    //========================= START OF METHOD ===========================//
  //  METHOD: close                                                      //
  //=====================================================================//
    this.close=function(){this._inst.setVisible(false);};
    //=====================================================================//
  //  METHOD: close                                                      //
  //========================== END OF METHOD ============================//

    //========================= START OF METHOD ===========================//
  //  METHOD: on_close                                                   //
  //=====================================================================//
       /**
        * Sets or retrieves the title of this frame.
        * @param title the title to be shown in the frame
        * @type mixed
        */
    this.on_close=function(fn,arg1,arg2,arg3){
        var adapter  = new java.awt.event.WindowAdapter() { windowClosing: function(e){fn(arg1,arg2,arg3);} };
        this.instance().addWindowListener(adapter);
        return this;
    };
    //=====================================================================//
  //  METHOD: on_close                                                   //
  //========================== END OF METHOD ============================//

  //========================= START OF METHOD ===========================//
  //  METHOD: title                                                      //
  //=====================================================================//
       /**
        * Sets or retrieves the title of this frame.
        * @param title the title to be shown in the frame
        * @type mixed
        */
    this.title=function(/**String*/title){
        if(undefined===title)return this.instance().getTitle();
        else{this.instance().setTitle(title);}
        return this;
    };
    //=====================================================================//
  //  METHOD: title                                                      //
  //========================== END OF METHOD ============================//
    return this;
}
java_frame.prototype = new java_container();
java_frame.constructor == java_container;
//===========================================================================//
//CLASS: j_frame                                                             //
//============================== END OF CLASS ===============================//

//============================= START OF CLASS ==============================//
//CLASS: j_layout                                                            //
//===========================================================================//
/**
* A reference to the Java Container class
* @augments j_object
* @class
*/
java_layout = function(type,constraints){
    if(type==="border")this._inst = new java.awt.BorderLayout();
    if(type==="flow")this._inst = new java.awt.FlowLayout();
    if(type==="table"){
        this._inst = new TableLayout(constraints);
    }   
    return this;
}
java_layout.prototype = new java_object();
//===========================================================================//
//CLASS: j.layout                                                            //
//============================== END OF CLASS ===============================//

//============================= START OF CLASS ==============================//
//CLASS: j_button                                                            //
//===========================================================================//
 /**
  * A reference to the Java JButton class
  * <div style="position: relative; top: 10px; left: 10px; font-size: 11px; font-family: verdana; color:crimson;">&nbsp;Example&nbsp;</div>
  * <div style="border: 1px dashed silver; margin: 10px; padding: 5px; background: cornsilk; font-family: monospace; font-size: 12px;">
  * var button = new j_button();<br>
  *     button.text("Click me");<br>
  *     button.on_click(js.alert,"I was clicked");
  * </div>
  * @augments j_component
  * @class    
  */
java_button = function(text){
    this._inst = (undefined===text)?new javax.swing.JButton(""):new javax.swing.JButton(text);
    //========================= START OF METHOD ===========================//
  //  METHOD: text                                                       //
  //=====================================================================//
    this.text=function(text){
        if(undefined===text){return this.instance().getText();}
        this.instance().setText(text);
    };
    //=====================================================================//
  //  METHOD: text                                                       //
  //========================== END OF METHOD ============================//
    return this;
}
java_button.prototype = new java_component();
//===========================================================================//
//CLASS: java_button                                                         //
//============================== END OF CLASS ===============================//

//============================= START OF CLASS ==============================//
//CLASS: namespace                                                           //
//===========================================================================//
/** @namespace */
$ = {
    _button:java_button,
    _frame:java_frame,
    _layout:java_layout,
    _object:java_object,
    button:function(name){
        return new this._button(name);
    },
    frame:function(title){
        return new this._frame(title);
    },
    layout:function(name,constraints){
        return new this._layout(name,constraints);
    },
    object:function(){
        return new this._object();
    }
};
//===========================================================================//
//CLASS: namespace                                                           //
//============================== END OF CLASS ===============================//

包括/ js.js

/** @namespace */
js = {
    _loaded:[], // Reference to all the loaded script files
    alert:function(msg){
        JOptionPane.showMessageDialog(null, "<html><font size=\"3\" color=\"red\">"+msg+"</font></html>", "Alert",JOptionPane.WARNING_MESSAGE);
    },
    echo:function(msg){System.out.print(msg);},
    getcwd:function(){
        return System.getProperty("user.dir");
    },
    include:function(path){
        var id = path.split("\\").join("_").split(" ").join("___");
        if(undefined === this._loaded[id]){this._loaded[id]=id;}
        load(path.split("\\").join("/"));
    },
    include_once:function(path){
        var id = path.split("\\").join("_").split(" ").join("___");
        if(undefined === this._loaded[id]){
            this._loaded[id]=id; load(path.split("\\").join("/"));
        }
    },
    version:1.2
}
js.include("includes/java.js");

我想留下如图片链接所示:

如果有人可以准备好iframe准备就绪,那么我可以更多地了解它并且能够练习。

1 个答案:

答案 0 :(得分:0)

您可以使用Java Applet显示您的Java应用程序。

但现代浏览器(如Google Chrome,Microsoft Edge和Mozilla Firefox)很快就会终止对NPAPI插件的支持,例如Adobe Flash和Java插件。

所以Java Applet已经过时且非常不安全。

但如果您想这样做,Oracle建议使用IE或Safari。

请参阅官方网页:https://java.com/en/download/faq/chrome.xml