Usuário com melhor resposta
Existe algum método ou script que Detecte se o Browser possui o Plugin do Silverlight ou não

Pergunta
-
Olá Como todos já sabem existem Browsers (Ex. o Opera) que não possui suporte a SILVERLIGHT 2.0 , gostaria de saber se alguem teria algum método ou script ou artigo ou link que demonstra-se como fazer uma condição de desvio para uma pagina de aviso por exemplo mostrando ou exibindo ao usuario que este Browser não tem suporte a Silverlight
Fico no aguardo e desde já agradeço
LADEFquinta-feira, 20 de agosto de 2009 23:24
Respostas
-
Pessoal, essas soluções não detectam se o browser tem o plugin do Silverlight instalado. Detectam apenas se o browser suporta plugins.Quando você cria um projeto Silverlight no Visual Studio e pede para ele criar o projeto web também, haverá um arquivo chamado Silverlight.js nesse projeto web.Se a sua página faz referencia a esse javascript, basta verificar a seguinte variável "Silverlight.isInstalled":<script type="text/javascript" language="javascript">if (Silverlight.isInstalled) {alert("Você não tem o Silverlight instalado.");}</script>Há também uma outra forma mais simples de exibir conteúdo específico quando o usuário não tiver o Silverlight instalado. Todo o conteúdo que estiver dentro da tag object que é colocada na página será exibido caso o plugin não esteja instalado, e apenas nesse caso. No exemplo abaixo, há um link com uma imagem.<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="500" height="500"><param name="source" value="ClientBin/SilverlightApplication1.xap"/><param name="onError" value="onSilverlightError" /><param name="background" value="white" /><param name="minRuntimeVersion" value="3.0.40818.0" /><param name="autoUpgrade" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none"><img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/></a></object>Atenciosamente,
Kelps Leite de Sousa
blog: http://kelps-sousa.blogspot.com
twitter : http://twitter.com/kelps
Não se esqueça de "marcar como resposta" o ítem que lhe ajudou.- Sugerido como Resposta Kelps Leite de Sousa quarta-feira, 2 de dezembro de 2009 01:54
quarta-feira, 2 de dezembro de 2009 01:54 -
Luiz,
Depois olha esse artigo que é bem interessante e eu achei uma solução mais simples do que o pessoal publicou:
http://www.linhadecodigo.com.br/Artigo.aspx?id=2005
Boa sorte.- Marcado como Resposta LuizIta quarta-feira, 2 de dezembro de 2009 17:01
quarta-feira, 2 de dezembro de 2009 16:34 -
O exemplo que eu coloquei mostra 2 jeitos de identificar se o Silverlight está instalado. Um jeito usando Javascript e outro usando HTML puro.Se o que você quer é apenas exibir uma mensagem informando o usuário que é necessário ter o Silverlight instalado, sugiro fazer isso usando a segunda opção (colocando o html da mensagem dentro da tag object)Se você quiser redirecionar para outra página com conteúdo diferenciado caso o usuário não tenha Silverlight, use a primeira opção (javascript) e troque o alert pordocument.location.href = "nova-url.html";Atenciosamente,
Kelps Leite de Sousa
blog: http://kelps-sousa.blogspot.com
twitter : http://twitter.com/kelps
Não se esqueça de "marcar como resposta" o ítem que lhe ajudou.- Marcado como Resposta LuizIta quarta-feira, 2 de dezembro de 2009 22:33
quarta-feira, 2 de dezembro de 2009 20:05 -
1.) é a pagina q vc usa para rodar o seu aplicativo silverlight, seja ela o html ou o aspx.
2.) para vc entender melhor... copia o codigo abaixo num arquivo testo e salva como "teste.html" e abre o mesmo num browser<html> <head> <script type="text/javascript" language="javascript"> var platformName = window.navigator.platform; var browserName = window.navigator.appName; var validateBrowser = 5 + browserName.indexOf("Explorer") + browserName.indexOf("Netscape") + browserName.indexOf("Safari") + platformName.indexOf("Win") + platformName.indexOf("Mac"); if (validateBrowser == 0) alert("Seu browser não permite utilizar o Silverlight" + '\r\n' + platformName + "/" + browserName); else alert("Seja bem vindo" + '\r\n' + platformName + "/" + browserName); </script> </head> <body> </body> </html>
What would Brian Boitano do ?- Marcado como Resposta Lucas Defacio quinta-feira, 27 de agosto de 2009 15:50
sexta-feira, 21 de agosto de 2009 20:26
Todas as Respostas
-
vc pode fazer isso via javascript...
segue um exemplo de como detectar o browser em uso
http://www.quirksmode.org/js/detect.html
What would Brian Boitano do ?sexta-feira, 21 de agosto de 2009 03:50 -
Tá via java-script eu vi ácima que ele detecta os browsers, mas ele tb detecta se os mesmos suportam Silverlight?
e no caso mesmo que fosse java script como eu adapto este script ao meu projeto silverlight é na pagina .xaml enfim como eu adapto tal script e como os direciono para determinada pagina de aviso este browser não dá suporte á Silverlight
Fico no aguardo e desde já agradeço
LADEFsexta-feira, 21 de agosto de 2009 03:58 -
vc vai ter que criar o javascript na pagina html que vc vai usar de host para o silverlight, ja que se o browser nao suportar o mesmo... nao vai rodar o xaml :)o que vc prescisa é fazer um if... primeiro ve se o OS nao é Windows ou Mac (ou Linux... se o a sua aplicaçao nao funcionar no Moonlight)depois vc faz outro if para ver se o browser é diferente dos browser que vc sabe q rodam o silverlight....
What would Brian Boitano do ?sexta-feira, 21 de agosto de 2009 04:02 -
Não teria como me fazer um exemplo para mim já que sou iniciante em Silverlight
Fico no aguardo e desde já agradeço
LADEFsexta-feira, 21 de agosto de 2009 04:04 -
Tá duas coisas -
A )esse html é o projeto .html que qdo criado no Silverlight acompanha a pasta do Silverlight ou da pagina aspx
B)no JavaScript do Link que vc me passou aonde e como eu coloco dentro das propriedades de cada um
como mostrado abaixo
{ string: navigator.userAgent, subString: "Chrome", identity: "Chrome" }, { string: navigator.userAgent, subString: "OmniWeb", versionSearch: "OmniWeb/", identity: "OmniWeb" }, { string: navigator.vendor, subString: "Apple", identity: "Safari", versionSearch: "Version" }, { prop: window.opera, identity: "Opera" }, { string: navigator.vendor, subString: "iCab", identity: "iCab" }, { string: navigator.vendor, subString: "KDE", identity: "Konqueror" }, { string: navigator.userAgent, subString: "Firefox", identity: "Firefox" }, { string: navigator.vendor, subString: "Camino", identity: "Camino" }, { // for newer Netscapes (6+) string: navigator.userAgent, subString: "Netscape", identity: "Netscape" }, { string: navigator.userAgent, subString: "MSIE", identity: "Explorer", versionSearch: "MSIE" }, { string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" }, { // for older Netscapes (4-) string: navigator.userAgent, subString: "Mozilla", identity: "Netscape", versionSearch: "Mozilla" } ], dataOS : [ { string: navigator.platform, subString: "Win", identity: "Windows" }, { string: navigator.platform, subString: "Mac", identity: "Mac" }, { string: navigator.userAgent, subString: "iPhone", identity: "iPhone/iPod" }, { string: navigator.platform, subString: "Linux", identity: "Linux" } ] }; BrowserDetect.init();
Aonde e como eu coloco o link ou url da pagina que dependendo do Browser ele será redirecionado?
Fico no aguardo e desde já agradeço
LADEFsexta-feira, 21 de agosto de 2009 19:39 -
1.) é a pagina q vc usa para rodar o seu aplicativo silverlight, seja ela o html ou o aspx.
2.) para vc entender melhor... copia o codigo abaixo num arquivo testo e salva como "teste.html" e abre o mesmo num browser<html> <head> <script type="text/javascript" language="javascript"> var platformName = window.navigator.platform; var browserName = window.navigator.appName; var validateBrowser = 5 + browserName.indexOf("Explorer") + browserName.indexOf("Netscape") + browserName.indexOf("Safari") + platformName.indexOf("Win") + platformName.indexOf("Mac"); if (validateBrowser == 0) alert("Seu browser não permite utilizar o Silverlight" + '\r\n' + platformName + "/" + browserName); else alert("Seja bem vindo" + '\r\n' + platformName + "/" + browserName); </script> </head> <body> </body> </html>
What would Brian Boitano do ?- Marcado como Resposta Lucas Defacio quinta-feira, 27 de agosto de 2009 15:50
sexta-feira, 21 de agosto de 2009 20:26 -
OLÁ RUI boa tarde no Lugar do
alert("Seu browser não permite utilizar o Silverlight" + '\r\n' + platformName + "/" + browserName);
não tem como colocar neste script para redirecionar para alguma pagina .aspx e se sim como eu o faria neste script e o mesmo script pd ser colocado dentro da pagina .aspx que contem o silverlight
Fico no aguardo e desde já agradeço
LADEFterça-feira, 1 de dezembro de 2009 18:41 -
Pessoal, essas soluções não detectam se o browser tem o plugin do Silverlight instalado. Detectam apenas se o browser suporta plugins.Quando você cria um projeto Silverlight no Visual Studio e pede para ele criar o projeto web também, haverá um arquivo chamado Silverlight.js nesse projeto web.Se a sua página faz referencia a esse javascript, basta verificar a seguinte variável "Silverlight.isInstalled":<script type="text/javascript" language="javascript">if (Silverlight.isInstalled) {alert("Você não tem o Silverlight instalado.");}</script>Há também uma outra forma mais simples de exibir conteúdo específico quando o usuário não tiver o Silverlight instalado. Todo o conteúdo que estiver dentro da tag object que é colocada na página será exibido caso o plugin não esteja instalado, e apenas nesse caso. No exemplo abaixo, há um link com uma imagem.<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="500" height="500"><param name="source" value="ClientBin/SilverlightApplication1.xap"/><param name="onError" value="onSilverlightError" /><param name="background" value="white" /><param name="minRuntimeVersion" value="3.0.40818.0" /><param name="autoUpgrade" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none"><img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/></a></object>Atenciosamente,
Kelps Leite de Sousa
blog: http://kelps-sousa.blogspot.com
twitter : http://twitter.com/kelps
Não se esqueça de "marcar como resposta" o ítem que lhe ajudou.- Sugerido como Resposta Kelps Leite de Sousa quarta-feira, 2 de dezembro de 2009 01:54
quarta-feira, 2 de dezembro de 2009 01:54 -
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="promoçõesfirefox.aspx.cs" Inherits="dominio.promocoesfirefox" %> <%@ Register Assembly="DSHHitCounter" Namespace="DSHHitCounter" TagPrefix="cc1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title></title> <link rel="stylesheet" type="text/css" id="StyleFirefox" runat="server" /> <style type="text/css"> html, body { height: 100%; background-attachment:fixed; } body { padding: 0; margin: 0; } #silverlightControlHost { height: 100%; text-align:center; } </style> <script type="text/javascript" src="Silverlight.js"></script> <script type="text/javascript"> function onSilverlightError(sender, args) { var appSource = ""; if (sender != null && sender != 0) { appSource = sender.getHost().Source; } var errorType = args.ErrorType; var iErrorCode = args.ErrorCode; if (errorType == "ImageError" || errorType == "MediaError") { return; } var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n" ; errMsg += "Code: "+ iErrorCode + " \n"; errMsg += "Category: " + errorType + " \n"; errMsg += "Message: " + args.ErrorMessage + " \n"; if (errorType == "ParserError") { errMsg += "File: " + args.xamlFile + " \n"; errMsg += "Line: " + args.lineNumber + " \n"; errMsg += "Position: " + args.charPosition + " \n"; } else if (errorType == "RuntimeError") { if (args.lineNumber != 0) { errMsg += "Line: " + args.lineNumber + " \n"; errMsg += "Position: " + args.charPosition + " \n"; } errMsg += "MethodName: " + args.methodName + " \n"; } throw new Error(errMsg); } </script><script type="text/javascript" language="javascript"> if (Silverlight.isInstalled) { alert("Você não tem o Silverlight instalado."); }</script> </head> <body runat="server" id="mydominio"> <form id="form1" runat="server" style="height:100%"> <div class="TopHeader"> <br /> <br /> <br /><div align="right">LOGIN</div><div align="right"><cc1:HitCounter ID="HitCounter1" runat="server" TextFileName="" Padding="6" /> <div class="TextoConteudo" >visitas desde<br />20/08/2009 </div></div> <br /> <br /> <br /> <br /> </div> <div class="LeftColumn"><div align="center" class="Texto"><br /><br /> [<asp:Label CssClass="TextoSobre" ID="lblUsuOnLine" runat="server" Text="Label"></asp:Label>]<br /> Usuários(as)<br />On-Line </div> <br /> <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" EnableTheming="True" StaticEnableDefaultPopOutImage="False"> <LevelSelectedStyles> <asp:MenuItemStyle Font-Underline="False" /> </LevelSelectedStyles> <LevelSubMenuStyles> <asp:SubMenuStyle Font-Underline="False" BorderStyle="Outset" BorderWidth="1px" /> </LevelSubMenuStyles> <LevelMenuItemStyles> <asp:MenuItemStyle BorderStyle="Outset" BorderWidth="1px" Font-Underline="False" /> </LevelMenuItemStyles> <DynamicMenuStyle BorderStyle="Outset" BorderWidth="1px" /> </asp:Menu> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False" /> </div> <div class="CenterColumn" id="silverlightControlHost"> <asp:ScriptManager ID="ScriptManager1" runat="server" /><asp:SiteMapPath ID="SiteMapPath1" runat="server" Font-Names="Verdana" Font-Size="0.8em" PathSeparator=" : " TabIndex="1"> <PathSeparatorStyle Font-Bold="True" /> <CurrentNodeStyle /> <NodeStyle Font-Bold="True" /> <RootNodeStyle Font-Bold="True" /> </asp:SiteMapPath><asp:HyperLink ID="hplRoot" runat="server" Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small">[hplRoot]</asp:HyperLink><asp:Label ID="lblSeparator1" runat="server" Text=" : " Font-Bold="False" Font-Names="Verdana" Font-Size="XX-Small" ForeColor="Black"></asp:Label><asp:HyperLink CssClass="TextoParentSiteMap" ID="hplParent1" runat="server" Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small" NavigateUrl="#">[hplParent1]</asp:HyperLink><asp:Label ID="lblParent1" runat="server" Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small"></asp:Label><asp:Label ID="lblSeparator2" runat="server" Text=" : " Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small" ForeColor="Black"></asp:Label><asp:HyperLink CssClass="TextoParentSiteMap" ID="hplParent2" runat="server" Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small">[hplParent2]</asp:HyperLink><asp:Label ID="lblParent2" runat="server" Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small"></asp:Label><asp:Label ID="lblSeparator3" runat="server" Text=" : " Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small"></asp:Label><asp:Label ID="lblCurrentNode" runat="server" Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small"></asp:Label> <br /><br /><fieldset style="padding-left:10px;padding-right:10px; margin-left:15px; width:565px; font-weight: normal; font-size: 9pt; font-family: verdana;"><legend style="font-weight: bold; font-size: 11pt; color: #a5b5bf; font-family: Arial; text-align:left"><div style="color:#8E0000">PROMOÇÕES</div></legend><div style="text-align:justify"> Clique no botão <b>Play (>)</b> do <b>Dominio Sexy Player</b> abaixo e veja as nossas promoções.</div></fieldset><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="ClientBin/dominiosexyfullplayer.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="3.0.40624.0" /> <param name="autoUpgrade" value="true" /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none"> <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/> </a> </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe> <fieldset style="padding-left:10px;padding-right:10px; margin-left:15px; width:565px; font-weight: normal; font-size: 9pt; font-family: verdana;"><div style="text-align:justify"> Atenciosamente - <b> - Diretor Responsável</b><br /> (Desenvolvedor e Programador Web, Asp, Asp.Net, Asp.Net Mobile e Vídeo-Streaming)<br /> <br /> <br /> <b> - Copyright © 2009 - Todos os Direitos Reservados.</b></div></fieldset> </form> </body> </html>
Olá Kelps vc está querendo dizer que na pagina aonde exibirei meu silverlight eu tenho que verificar a variavel Silverlight.isInstalled nela assim como mostrado ácima e no caso se for isso como mudar de alert para um javascript de redirecionamento de pagina ou pagina de aviso fico no aguardo e desde já agradeço
LADEFquarta-feira, 2 de dezembro de 2009 03:30 -
Luiz,
Depois olha esse artigo que é bem interessante e eu achei uma solução mais simples do que o pessoal publicou:
http://www.linhadecodigo.com.br/Artigo.aspx?id=2005
Boa sorte.- Marcado como Resposta LuizIta quarta-feira, 2 de dezembro de 2009 17:01
quarta-feira, 2 de dezembro de 2009 16:34 -
O exemplo que eu coloquei mostra 2 jeitos de identificar se o Silverlight está instalado. Um jeito usando Javascript e outro usando HTML puro.Se o que você quer é apenas exibir uma mensagem informando o usuário que é necessário ter o Silverlight instalado, sugiro fazer isso usando a segunda opção (colocando o html da mensagem dentro da tag object)Se você quiser redirecionar para outra página com conteúdo diferenciado caso o usuário não tenha Silverlight, use a primeira opção (javascript) e troque o alert pordocument.location.href = "nova-url.html";Atenciosamente,
Kelps Leite de Sousa
blog: http://kelps-sousa.blogspot.com
twitter : http://twitter.com/kelps
Não se esqueça de "marcar como resposta" o ítem que lhe ajudou.- Marcado como Resposta LuizIta quarta-feira, 2 de dezembro de 2009 22:33
quarta-feira, 2 de dezembro de 2009 20:05 -
Veja o artigo Classe HttpBrowserCapabilities para Detectar Browser e Verificar Recursos do Navegador
Abraços, Marcelo Cavalini
segunda-feira, 13 de maio de 2013 20:12