My project is entirely dependent on being able to right click without entering fullscreen mode however I can seem to find a way to do this. Ive tried disabling the context menu
http://unity3d.com/support/documentation/Manual/WebPlayerBehaviorTags.html
but adding these parameters seems to do nothing.
Any help is greatly appreciated.
Luke
Double-check your html. That is the way to do it. Notice that you need to specify the parameter in two different ways.
I copy pasted the code from the page into the same place in my unity generated html using dreamweaver and it doesnt change anything.
I added both the param name and the imbed id
I even tried to change the background color just to see if it did anything but that wouldnt change either.
Are you sure you are modifying the right file in the right place? Is the file getting overwritten when you make a build?
I made a PHP script that lets you easily define the parameters at the top of the file, but it requires that it is running on a server.
Here is my entire html code for the player page, the only changes are the two statements I added that should disable the context menu.
<html>
<head>
<title>Doom Siege</title>
<script language='VBScript'>
function DetectUnityWebPlayerActiveX
on error resume next
dim tControl
dim res
res = 0
set tControl = CreateObject("UnityWebPlayer.UnityWebPlayer.1")
if IsObject(tControl) then
res = 1
end if
DetectUnityWebPlayerActiveX = res
end function
</script>
<script language="javascript1.1" type="text/javascript">
function GetUnity () {
if (navigator.appVersion.indexOf("MSIE") != -1 navigator.appVersion.toLowerCase().indexOf("win") != -1)
return document.getElementById("UnityObject");
else if (navigator.appVersion.toLowerCase().indexOf("safari") != -1)
return document.getElementById("UnityObject");
else
return document.getElementById("UnityEmbed");
}
function DetectUnityWebPlayer () {
var tInstalled = false;
if (navigator.appVersion.indexOf("MSIE") != -1 navigator.appVersion.toLowerCase().indexOf("win") != -1) {
tInstalled = DetectUnityWebPlayerActiveX();
}
else {
if (navigator.mimeTypes navigator.mimeTypes["application/vnd.unity"]) {
if (navigator.mimeTypes["application/vnd.unity"].enabledPlugin navigator.plugins navigator.plugins["Unity Player"]) {
tInstalled = true;
}
}
}
return tInstalled;
}
function GetInstallerPath () {
var tDownloadURL = "";
var hasXpi = navigator.userAgent.toLowerCase().indexOf( "firefox" ) != -1;
// Use standalone installer
if (1)
{
if (navigator.platform == "MacIntel")
tDownloadURL = "http://webplayer.unity3d.com/download_webplayer-2.x/webplayer-i386.dmg";
else if (navigator.platform == "MacPPC")
tDownloadURL = "http://webplayer.unity3d.com/download_webplayer-2.x/webplayer-ppc.dmg";
else if (navigator.platform.toLowerCase().indexOf("win") != -1)
tDownloadURL = "http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayer.exe";
return tDownloadURL;
}
// Use XPI installer
else
{
if (navigator.platform == "MacIntel")
tDownloadURL = "http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayerOSX.xpi";
else if (navigator.platform == "MacPPC")
tDownloadURL = "http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayerOSX.xpi";
else if (navigator.platform.toLowerCase().indexOf("win") != -1)
tDownloadURL = "http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayerWin32.xpi";
return tDownloadURL;
}
}
function AutomaticReload () {
navigator.plugins.refresh();
if (DetectUnityWebPlayer())
window.location.reload();
setTimeout('AutomaticReload()', 500)
}
</script>
</head>
<body>
<center>
<h2>Unity Web Player - Doom Siege</h2>
<script language="javascript1.1" type="text/javaScript">
if (DetectUnityWebPlayer()) {
document.write('<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="1024" height="640"> \n');
document.write(' <param name="src" value="Doom Siege.unity3d" /> \n');
document.write(' <embed id="UnityEmbed" src="Doom Siege.unity3d" width="1024" height="640" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" /> \n');
document.write('</object>');
}
else {
var installerPath = GetInstallerPath();
if (installerPath != "") {
// Place a link to the right installer depending on the platform we are on. The iframe is very important! Our goals are:
// 1. Don't have to popup new page
// 2. This page still remains active, so our automatic reload script will refresh the page when the plugin is installed
document.write('<div align="center" id="UnityPrompt"> \n');
document.write(' [url=""][img]http://webplayer.unity3d.com/installation/getunity.png[/img][/url] \n');
document.write('</div> \n');
// By default disable ActiveX cab installation, because we can't make a nice Install Now button
// if (navigator.appVersion.indexOf("MSIE") != -1 navigator.appVersion.toLowerCase().indexOf("win") != -1)
if (0)
{
document.write('<div id="InnerUnityPrompt">
Title</p>');
document.write('
Contents</p>');
document.write("</div>");
var innerUnityPrompt = document.getElementById("InnerUnityPrompt");
var innerHtmlDoc =
'<object id="UnityInstallerObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="320" height="50" codebase="http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayer.cab#version=2,0,0,0">\n' +
'</object>';
innerUnityPrompt.innerHTML = innerHtmlDoc;
}
document.write('<iframe name="InstallerFrame" height="0" width="0" frameborder="0">\n');
}
else {
document.write('<div align="center" id="UnityPrompt"> \n');
document.write(' [url="javascript: window.open("][img]http://webplayer.unity3d.com/installation/getunity.png[/img][/url] \n');
document.write('</div> \n');
}
AutomaticReload();
}
</script>
<noscript>
<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="1024" height="640" codebase="http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayer.cab#version=2,0,0,0">
<param name="src" value="Doom Siege.unity3d" />
<param name="disableContextMenu" value="true" />
<embed id="UnityEmbed" src="Doom Siege.unity3d" width="1024" height="640" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" disableContextMenu="true" />
<noembed>
<div align="center">
This content requires the Unity Web Player
[url="http://www.unity3d.com/unity-web-player-2.x"]Install the Unity Web Player today![/url]
</div>
</noembed>
</object>
</noscript>
<h5>[url="http://unity3d.com"][i]Created with Unity ยป[/i][/url]</h5>
</center>
</body>
</html>
has anybody actually been able to get a right click without a context menu on a webplayer before?
Aras
May 12, 2008, 11:46am
7
You have added nocontextmenu tag to that part of HTML which is loaded if the browser has JavaScript disabled. Basically, you should add it to all relevant places. Easiest is just searching for where your unity3d filename is mentioned, and adding the tag in all those places.
Thank you so much Aras, that is exactly what I needed to know! You may be the coolest person in the world to me right now, expect a release of my project in the showcase forum soon.
Thanks again,
Luke