Unity发布WebGL后跳转页面的问题

Unity发布WebGL后跳转页面的问题

最近在做的一个实验平台的项目,需要自己写一个在线的编译器,但是由于WebGL的特殊性,无法在Unity内部实现这个编译器,然后只能房子啊另一个页面上,用页面跳转来实现,但是遇到了问题

Application.OpenURL(codeUrl);

这是Unity提供的跳转方法,在编辑器中跳转没发现问题。然后,导出WebGL后发现这方法是在本页面内跳转,而我需要的是打开新页面,有点坑。
后来选择在Unity中调JS的方法来解决,

// JavaScript source code
mergeInto(LibraryManager.library,
    {
        Test: function (str) {
            window.open(Pointer_stringify(str));
        },
    });

将这个JS文件的后缀名改为.jslib并放在Assets/Plugins目录下

	//加入以下声明
    [DllImport("__Internal")]
    private static extern void Test(string str);
    //
    //像调用一般方法一样调用
    Test(codeUrl);

然后发布就ok了。
这个有个特麻烦的地方就是改起来很麻烦,每次都要发布,本身Unity导出WebGL就很慢,希望unity以后webgl上的拓展能多更多一些。

建议像这样食用,完美解决,哈哈。

	//跳转
    //1、在editor中使用的跳转方式
    //Application.OpenURL(codeUrl);
    //2、在发布webgl中使用地跳转方式
    Test(codeUrl);

你可能感兴趣的:(疑难杂症,Unity,WebGL,页面跳转)