Project1

标题: 關於打開 外連HTML的 一些問題請教... [打印本页]

作者: play337    时间: 2020-8-7 13:25
标题: 關於打開 外連HTML的 一些問題請教...
我使用腳本 : document.location.href = "http://www.google.com/";
或 YEP_ExternalLinks.js
OpenNewTab http://www.google.com/
打開外連 HTML 檔案

但是
01. 就無法切回原本的畫面了... 關不掉她了

02. 這個語法 還是有其他的方法 可以指定 顯示的視窗大小嗎 ?

03. 有沒有可以顯示 HTML 網頁的插件 類似崁入 YOUTBE 影片一樣的方法 崁入網頁在遊戲當中呢 ?
作者: zths    时间: 2020-8-21 23:57
  1.     function openUrlOutSide(url){
  2.         try{
  3.             var chp = require('child_process').exec('start ' + url.replace(/\&/g,'^&'));
  4.             if(chp && chp.constructor.name === "ChildProcess"){
  5.                 return false
  6.             }
  7.             return true;
  8.         }catch(e){
  9.             
  10.         };
  11.         return true;
  12.     }
复制代码


调用这个方法可以 实现用用户的浏览器打开网页。。
我觉得最方便。。  这个转译仅支持windows平台
作者: play337    时间: 2020-8-22 08:02




哪邊錯了嗎?
作者: zths    时间: 2020-8-22 20:53
play337 发表于 2020-8-22 08:02
哪邊錯了嗎?

openUrlOutSide("https://google.com");
作者: 白嫩白嫩的    时间: 2020-8-22 21:00
本帖最后由 白嫩白嫩的 于 2020-8-22 23:36 编辑

YEP_ExternalLinks.js 这个不是打开了个新窗口吗,直接点x关闭就行了


我的是打开链接直接蹦出新窗口,关闭就行了

不过还是建议用zths大佬的方法,导入到浏览器更方便


作者: zths    时间: 2020-8-22 23:38
我发的 脚本块 你找个插件黏贴进去 或者单写一个插件都行。。
别仍在事件里执行。。
事件里只写
openUrlOutSide("https://google.com");
就行了
作者: play337    时间: 2020-8-23 08:10


用成插件變成這樣...
作者: 白嫩白嫩的    时间: 2020-8-23 14:16
play337 发表于 2020-8-23 08:10
用成插件變成這樣...

实测可行,直接在浏览器打开了
作者: 小怪兽奇奇侠    时间: 2020-8-23 15:48
本帖最后由 小怪兽奇奇侠 于 2020-8-23 15:53 编辑

小弟不才,初学js,只会写基础代码。
我研究了几个小时,试了各种方法,最后勉强用这种极为粗暴的办法做出来了一丢丢效果。
我猜lz想要的大概是这样子的吧。

什么都没有

点人物对话后突然冒出来个百度。。。
接下来是代码部分。。
  1.           x ="http://www.baidu.com/";
  2.           pp = document.getElementById("ErrorPrinter");
  3.           pp.innerHTML = "<iframe src='" + x + "'width='200' height='200'</iframe>";
复制代码
就是这样,额,丢到脚本里边应该直接就可以用。

回头我发现更好的办法再来补充。。。。


另外想请问一下各位大佬,怎么在游戏画面里新建视窗啊???
我看了论坛上有人发的教程看不懂。
我想要的就是在地图画面新建一个窗口(就像对话框那样的),里边可以加东西的那种。

作者: play337    时间: 2020-8-23 16:30


完美 就是這樣... 不過這樣還有兩個問題...

01. 如何指定IFRAME出現的位置 ? 目前他就是在畫面中央 我想她出現在左上角
02. 這個IFRAME 關不掉... 出現之後就永遠都在那邊了... 我想做個X在他右上角可以關掉它...
作者: fux2    时间: 2020-8-23 17:03
JAVASCRIPT 代码复制
  1. if(Utils.isMobileDevice()){
  2.                 // 根据你手机端的打包方式修改这里
  3.                 if(cordova && cordova.InAppBrowser){
  4.                         cordova.InAppBrowser.open(url,'_system');
  5.                 }else{
  6.                         prompt(url,"你的设备不支持直接打开链接");
  7.                 }
  8.         } else {
  9.                 var tool = require('nw.gui');
  10.                 if(tool && tool.Shell && tool.Shell.openExternal){
  11.                         tool.Shell.openExternal(url);
  12.                 }else{
  13.                         window.open(url, '_blank');
  14.                 }
  15.         }


以前弄的一点小东西
作者: 白嫩白嫩的    时间: 2020-8-23 17:05
小怪兽奇奇侠 发表于 2020-8-23 15:48
小弟不才,初学js,只会写基础代码。
我研究了几个小时,试了各种方法,最后勉强用这种极为粗暴的办法做出 ...

一楼的插件你看看t大佬搬运的插件是否符合你想要的功能
作者: 小怪兽奇奇侠    时间: 2020-8-23 18:17
本帖最后由 小怪兽奇奇侠 于 2021-10-2 22:48 编辑
play337 发表于 2020-8-23 16:30
完美 就是這樣... 不過這樣還有兩個問題...

01. 如何指定IFRAME出現的位置 ? 目前他就是在畫面中央 我想 ...

那试试这样子吧。接着刚刚的办法,就是在原基础上加了点css.....

点这个叉叉就会消失。

但其实还有点问题,如果在全屏状态下。

会跑到整个窗口的最左边。。。我再看看有啥其他办法吧。

把改过的代码先贴出来。
JAVASCRIPT 代码复制
  1. x="http://www.baidu.com/";
  2.           pp = document.getElementById("ErrorPrinter");
  3.           pp.innerHTML = "<font style='position:fixed;left:220px;top:0px;' id='clickexit' onclick='clickexit()'>X</font><iframe src='" + x + "'width='200' height='200' style='position:fixed;top:0px;left:0px;'></iframe>";
  4. function clickexit(){
  5.          document.getElementById("clickexit").innerHTML="";
  6.          document.getElementById("ErrorPrinter").innerHTML="";
  7.          }

你可以改里边的top和left的数值把叉叉和框架移到你想要的位置。

时隔一年多一点.....更好的办法详见:
https://rpg.blue/forum.php?mod=viewthread&tid=487163&page=1&extra=#pid2932616


作者: 小怪兽奇奇侠    时间: 2020-8-23 18:29
白嫩白嫩的 发表于 2020-8-23 17:05
一楼的插件你看看t大佬搬运的插件是否符合你想要的功能

我看了,他的那个是多窗口插件,我想要的是在游戏的场景画面上显示一个类似于对话时对话框的东西,那个框框的内容由我自己决定。类似于在画面上有个框框,里边有玩家姓名啊,金币啊之类的东西。
作者: 白嫩白嫩的    时间: 2020-8-23 21:58
本帖最后由 白嫩白嫩的 于 2020-8-23 22:07 编辑
小怪兽奇奇侠 发表于 2020-8-23 18:29
我看了,他的那个是多窗口插件,我想要的是在游戏的场景画面上显示一个类似于对话时对话框的东西,那个框 ...


DTextPicture.rar (9.81 KB, 下载次数: 19)

这个插件可以将文字以图片的形式出现的画面当中,可以带入变量、带入角色名、带入金币、带入图标、支持字号自定义、修改字体颜色等等

如果需要实时更新数据的话需要将文字事件改成并行。

如果觉得缺少框框的话,ps一个框框以图片的形式圈住即可




◆插件指令:D_TEXT \c[02][大C的面包] \i[266] 16
◆插件指令:D_TEXT      \c[0]\V[28]/50 18
◆显示图片:#70, 无, 左上 (20,300), (100%,100%), 225, 正常


图标没有显示完整,应该是受到16大小的字号影响导致的,试验了下改成32后可以完整显现,如果嫌字大的话,可以将图标单独设置,然后定义在文字之后的坐标上,或者直接上图片


中文说明:》

提供指定的文字列産生圖片。
以下是表示方法順序。
1 : 插件指令使用[D_TEXT]來描画指定文字列和引数(使用參考下記之例子)
2 : 插件指令使用[D_TEXT_SETTING]指定背景色/對齊模式(任意)
3 : 事件指令使用「表示圖片」指定「画像」。
※ 1之部分要在「表示圖片」前先設定好。
※ 如果「顯示圖片」之前多次運行D_TEXT,可以多行顯示。

插件指令使用説明
  事件指令使用実行「插件指令」。
  (引数間隔為半角空白)

D_TEXT [描画文字列] [文字大小] :準備産生 動的文字列圖片
例:D_TEXT 測試文字列 32

表示後和通常圖片一様可以移動、回転、消去。
還有、也對應変数/顯示角色等制御文字。(對應的制御文字列表在下面)

D_TEXT_SETTING ALIGN [對齊] : 對齊可使用這三個設定(左對齊,中央對齊,右對齊)
0:左對齊 1:中央對齊 2:右對齊

例:D_TEXT_SETTING ALIGN 0
     D_TEXT_SETTING ALIGN CENTER

D_TEXT_SETTING BG_COLOR [背景色] : 背景色設定(CSS之方式色指定式)

例:D_TEXT_SETTING BG_COLOR black
     D_TEXT_SETTING BG_COLOR #336699
     D_TEXT_SETTING BG_COLOR rgba(255,255,255,0.5)

上面的設定和D_TEXT一様、在使用「表示圖片」前設定好。

対応制御文字一覧(和事件指令「文章表示」中一様)
\V[n]
\N[n]
\P[n]
\G
\C[n]
\I[n]
\{
\}

専用制御文字
\V[n,m](m行分0埋変数的値)
\item[n]   n 番的道具情報(Icon+名称)
\weapon[n] n 番的武器情報(Icon+名称)
\armor[n]  n 番的防具情報(Icon+名称)
\skill[n]  n 番的技能情報(Icon+名称)
\state[n]  n 番的状態情報(アイコン+名称)



作者: play337    时间: 2020-8-24 08:32


那個 X 按下去就變這樣了...

不過改變位置的是可以了!
作者: play337    时间: 2020-10-22 11:17
----------------------------------------------
x="http://www.baidu.com/";
          pp = document.getElementById("ErrorPrinter");
          pp.innerHTML = "<font style='position:fixed;left:220px;top:0px;' id='clickexit' onclick='clickexit()'>X</font><iframe src='" + x + "'width='200' height='200' style='position:fixed;top:0px;left:0px;'></iframe>";
function clickexit(){
         document.getElementById("clickexit").innerHTML="";
         document.getElementById("ErrorPrinter").innerHTML="";
         }

------------------------
在 MZ 裡面會出ˋ現這樣的錯誤...


--> cannot set property innerHTML of null

有辦法解決嗎 ?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1