Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook和Unity3D JS注入困难_Javascript_Facebook_Unity3d_Facebook Unity Sdk - Fatal编程技术网

Javascript Facebook和Unity3D JS注入困难

Javascript Facebook和Unity3D JS注入困难,javascript,facebook,unity3d,facebook-unity-sdk,Javascript,Facebook,Unity3d,Facebook Unity Sdk,我想在Facebook上的游戏下显示一些HTML元素。具体来说,是一张带有网站链接的图片,但这不是问题的重点 我了解需要什么,并且成功地使用了Application.ExternalEval方法和Facebook提供的示例JS字符串,在游戏本身的顶部添加了一些HTML文本 我正在跟踪上找到的信息 我尝试了以下排列: "var insertionPoint = body.children[0]; " + "body.insertBefore(headerElement, insertionPoin

我想在Facebook上的游戏下显示一些HTML元素。具体来说,是一张带有网站链接的图片,但这不是问题的重点

我了解需要什么,并且成功地使用了Application.ExternalEval方法和Facebook提供的示例JS字符串,在游戏本身的顶部添加了一些HTML文本

我正在跟踪上找到的信息

我尝试了以下排列:

"var insertionPoint = body.children[0]; " + "body.insertBefore(headerElement, insertionPoint);";

"var insertionPoint = body.children[0]; " + "body.insertBefore(headerElement, insertionPoint.nextSibling);";

"var insertionPoint = body.children[1]; " + "body.insertBefore(headerElement, insertionPoint);";

经过几个小时令人沮丧的尝试和错误后,我已经无法生成工作的JS注入代码来在画布上显示游戏本身下方的HTML。有人能帮忙吗?

这应该就够了

"var insertionPoint = body.lastChild;"
我在我的博客上发布技巧和教程,也可以查看facebook sdk教程


blog.bigfootcgaming.net

一分钟以来,我一直在尝试做同样令人沮丧的事情,以下是我得出的结论,在不同的浏览器中使用不同的技术

string injection = "if(navigator.userAgent.indexOf(\"Firefox\") >= 0){;" +

            "var headerElement = document.createElement('div');" +
            "headerElement.innerHTML = '<img src=\"URLTOSOURCE" style=\"width: 100%; text-align: center\" />';" +
            "var body = document.getElementsByTagName('body')[0];" +
            "var insertionPoint = body.lastChild;" +
            "body.insertBefore(headerElement, insertionPoint);" +

            "}else{;" +

            "var headerElement = document.createElement('div');" +
            "headerElement.innerHTML = '<img src=\"URLTOSOURCE" />';" +
            "var body = document.getElementsByTagName('body')[0];" +
            "var insertionPoint = body.children[0]; " +
            "var unityPlayer = document.getElementById('unityPlayerEmbed');" + 
            "unityPlayer.parentNode.insertBefore(headerElement, unityPlayer.nextSibling);" +
            "var embedTag = unityPlayer.getElementsByTagName('embed');" + 
            "embedTag[0].setAttribute('style','display:block;width:1200px;height:600px');" +

            "};";

    Application.ExternalEval(injection);

这不起作用-当我使用body.lastChild时,文本就消失了。这非常有效-我在Chrome上进行了测试,Firefox代码是所有需要的,并且正确设置了画布高度。谢谢