GalaxyPilot —— D.S


                  生命不熄,戰斗不止
          數據加載中……

          打印frame里的內容

          代碼網上找到的,不能用,也有可能是用法不對,做了一些修改,但還是不能通用,有時間了再說。

          function printFrame(frame) {

          ?if (printIsNativeSupport())
          ??window.print2 = window.print;
          ?window.print = printFrame;
          ?
          ?if (this.parent.document.frames(frame).document.readyState !== "complete" ){
          ??return;
          ?}

          ?if ( window.print2 ){ // IE5
          ??var focused = document.activeElement;
          ??this.parent.document.frames(frame).focus();
          ??if (this.parent.document.frames(frame).print2)
          ???this.parent.document.frames(frame).print2();
          ??else
          ???this.parent.document.frames(frame).print();
          ??return;
          ?}

          ?var eventScope = printGetEventScope(this.parent.document.frames(frame));
          ?var focused = document.activeElement;

          ?window.printHelper = function() {
          ??execScript("on error resume next: printWB.ExecWB 6, 1", "VBScript");
          ??printFireEvent(this.parent.document.frames(frame), eventScope, "onafterprint");
          ??printWB.outerHTML = "";
          ??window.printHelper = null;
          ?}

          ?document.body.insertAdjacentHTML("beforeEnd","<object id=\"printWB\" width=0 height=0 \classid=\"clsid:8856F961-340A-11D0-A96B-00C04FD705A2\"></object>");
          ?printFireEvent(this.parent.document.frames(frame), eventScope, "onbeforeprint");
          ?this.parent.document.frames(frame).focus();
          ?window.printHelper = printHelper;
          ?setTimeout("window.printHelper()", 0);
          }

          // helpers
          function printIsNativeSupport() {
          ?var agent = window.navigator.userAgent;
          ?var i = agent.indexOf("MSIE ")+5;
          ?return parseInt(agent.substr(i)) >= 5 && agent.indexOf("5.0b1") < 0;
          }

          function printFireEvent(frame, obj, name) {
          ?var handler = obj[name];
          ?switch ( typeof(handler) ) {
          ??case "string": frame.execScript(handler); break;
          ??case "function": handler();
          ?}
          }

          function printGetEventScope(frame) {
          ?var frameset = frame.document.all.tags("FRAMESET");
          ?if ( frameset.length ) return frameset[0];
          ??return frame.document.body;
          }

          posted on 2006-05-10 13:48 舵手 閱讀(2976) 評論(1)  編輯  收藏

          評論

          # re: 打印frame里的內容  回復  更多評論   

          yu
          2012-08-02 09:50 | 6

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宁夏| 怀宁县| 大兴区| 无锡市| 新巴尔虎左旗| 西乡县| 灵台县| 平潭县| 博爱县| 萨迦县| 从化市| 县级市| 盐源县| 贵州省| 余姚市| 盐城市| 涿鹿县| 云浮市| 大化| 蓬安县| 邯郸县| 青岛市| 息烽县| 营口市| 江西省| 冀州市| 屏南县| 巨野县| 元阳县| 贺兰县| 图们市| 奉化市| 鄢陵县| 永春县| 禹城市| 灵宝市| 泰宁县| 肇东市| 同江市| 安多县| 读书|