WebGadget avancé
WebGadget avancé
Bonjour,
J'aurais souhaité mettre au point un navigateur (comme firefox par exemple) mais à ma façon personnalisée. Après avoir effectué un premier test, je me suis trouvé devant un obstacle que je n'avais pas prévu. Les textes et images animés ne fonctionnent pas et les balises css sont ignorées... Y a t-il un moyen d'associer ces balises au webGadget pour qu'il puisse les prendre en charge?
Merci beaucoup
J'aurais souhaité mettre au point un navigateur (comme firefox par exemple) mais à ma façon personnalisée. Après avoir effectué un premier test, je me suis trouvé devant un obstacle que je n'avais pas prévu. Les textes et images animés ne fonctionnent pas et les balises css sont ignorées... Y a t-il un moyen d'associer ces balises au webGadget pour qu'il puisse les prendre en charge?
Merci beaucoup
Win7 (x64) 64 bits Pb 5.72
Re: WebGadget avancé
Tu parles de quoi quand tu dis images et textes animés ? De flash ? d'HTML5 ?
Si tu ouvres une page web avec un webgadget, il ni a aucune raison pour qu'une animation html ne s'affiche pas.
Je ne comprends pas ce que tu veux dire avec tes CSS.
Si une page web à un css, je ne vois pas pourquoi il ne serait pas pris en charge.
Exemple :
Essaye ça : (clic sur NON si tu as une alert concernant un script en https.)
Si tu ouvres une page web avec un webgadget, il ni a aucune raison pour qu'une animation html ne s'affiche pas.
Je ne comprends pas ce que tu veux dire avec tes CSS.
Si une page web à un css, je ne vois pas pourquoi il ne serait pas pris en charge.
Exemple :
Essaye ça : (clic sur NON si tu as une alert concernant un script en https.)
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 990, 800, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
WebGadget(0, 10, 10, 970, 780, "http://giphy.com")
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: WebGadget avancé
L'idéal serait d'avoir un bout de code.Les textes et images animés ne fonctionnent pas et les balises css sont ignorées...
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: WebGadget avancé
Essayez ce site : www.free.fr d'abord avec Google Chrome ou firefox puis essayez le même site avec WebGadget, vous allez voir la différence.. J'ai essayé avec plusieurs sites (utilisant de l'animation) , c'est toujours le même résultat.
Win7 (x64) 64 bits Pb 5.72
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: WebGadget avancé
Même rendu que sous chrome ou FireFox. Pourrais tu préciser :
- Ton Systéme d'exploitation
- Version de PureBasic
A mettre dans ta signature aussi pour ne plus avoir à le redemander. Merci.
- Ton Systéme d'exploitation
- Version de PureBasic
A mettre dans ta signature aussi pour ne plus avoir à le redemander. Merci.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: WebGadget avancé
Comme tu peux le voir, le WebGadget() sous windows est compatible Internet Explorer, tu vas trés vite rencontrer des difficultés pour le rendre visuellement compatible Chrome ou FireFox.Aide a écrit :The WebGadget uses the Internet Explorer 4.0
Un code pour t'aider qui va inscrire ton application dans la base de registre en associant la compatibilité Internet Explorer 11 à ce WebGadet().
Code : Tout sélectionner
;WebGadget HTML5 compatible
;
;Contributor: Sphere Users Pure Basic
;
Enumeration Window
#MainForm
EndEnumeration
Enumeration Gadget
#URL
#WebGadget
EndEnumeration
Global Url.s="http://free.fr/"
Declare Start()
Declare NavigationCallback(Gadget, NewUrl.s)
Declare RegConvertRegKeyToTopKeyAndKeyName(Key.s)
Declare RegSetValue(Key.s, ValueName.s, Value.s, Type, ComputerName.s)
Declare RegCreateKey(Key.s, ComputerName.s)
Declare RegCreateKeyValue(Key.s,ValueName.s,Value.s,Type,ComputerName.s)
Declare Exit()
Start()
Procedure Start()
;Rendre le webgadget compatible Internet Explorer 11
RegCreateKeyValue("HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", GetFilePart(ProgramFilename()), "11001", #REG_DWORD, ".")
OpenWindow(#MainForm, 0, 0, 1024, 768,"WebGadget HTML5 compatible",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
WebGadget(#WebGadget, 0, 0, 1024, 768, Url)
SetGadgetAttribute(#WebGadget, #PB_Web_NavigationCallback, @NavigationCallback())
SetGadgetAttribute(#WebGadget, #PB_Web_BlockPopups, #True)
SetGadgetAttribute(#WebGadget, #PB_Web_BlockPopupMenu, #True)
myBrowser.IWebBrowser2 = GetWindowLong_(GadgetID(#WebGadget), #GWL_USERDATA)
myBrowser\put_Silent(#True) ;Suppress error warnings in WebGadget
myBrowser\put_Left(0)
BindEvent(#PB_Event_CloseWindow, @Exit())
Repeat : WaitWindowEvent(5) : ForEver
EndProcedure
;Callback de navigation
Procedure NavigationCallback(Gadget, NewUrl.s)
Debug "Url sélectionné " + NewUrl + " - " + "Url précédent " + Url
If NewUrl <> Url
Url = NewUrl
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
;-
;- U.T. Registry
Procedure RegConvertRegKeyToTopKeyAndKeyName(Key.s)
Shared topKey,KeyName.s
temp.s=StringField(Key,1,"\")
temp=UCase(temp)
Select temp
Case "HKEY_CLASSES_ROOT"
topKey=#HKEY_CLASSES_ROOT
Case "HKEY_CURRENT_USER"
topKey=#HKEY_CURRENT_USER
Case "HKEY_LOCAL_MACHINE"
topKey=#HKEY_LOCAL_MACHINE
Case "HKEY_USERS"
topKey=#HKEY_USERS
Case "HKEY_CURRENT_CONFIG"
topKey=#HKEY_CURRENT_CONFIG
EndSelect
PositionSlash=FindString(Key,"\",1)
KeyName.s=Right(Key,(Len(Key)-PositionSlash))
EndProcedure
Procedure RegSetValue(Key.s, ValueName.s, Value.s, Type, ComputerName.s) ; Sets a Value
;Type can be #REG_SZ / #REG_DWORD / #REG_BINARY / #REG_EXPAND_SZ
;For REG_BINARY type use Hexa value as String
;Returns 1 if successful or 0 if it fails
Shared RegWow64.l,RegEx,topKey,KeyName.s
RegConvertRegKeyToTopKeyAndKeyName(Key)
If ComputerName = "."
If RegEx
GetHandle = RegOpenKeyEx_(topKey,KeyName,0,#KEY_ALL_ACCESS|RegWow64,@hKey)
Else
GetHandle = RegOpenKey_(topKey,KeyName,@hKey)
EndIf
Else
lReturnCode = RegConnectRegistry_(ComputerName,topKey,@lhRemoteRegistry)
If RegEx
GetHandle = RegOpenKeyEx_(lhRemoteRegistry,KeyName,0,#KEY_ALL_ACCESS|RegWow64,@hKey)
Else
GetHandle = RegOpenKey_(lhRemoteRegistry,KeyName,@hKey)
EndIf
EndIf
If GetHandle = #ERROR_SUCCESS
lpcbData = 255
lpData.s = Space(255)
Select Type
Case #REG_EXPAND_SZ
GetHandle = RegSetValueEx_(hKey, ValueName, 0, #REG_EXPAND_SZ, @Value, Len(Value) + 1)
Case #REG_SZ
GetHandle = RegSetValueEx_(hKey, ValueName, 0, #REG_SZ, @Value, Len(Value) + 1)
Case #REG_DWORD
lValue = Val(Value)
GetHandle = RegSetValueEx_(hKey, ValueName, 0, #REG_DWORD, @lValue, 4)
Case #REG_BINARY
LenBuffer=Len(Value)/2
*RegBuffer=AllocateMemory(LenBuffer)
For n=0 To LenBuffer-1
OctetHexa.s=Mid(Value,(n*2)+1,2)
Octet=Val("$"+OctetHexa)
PokeB(*RegBuffer+n,Octet)
Next
GetHandle= RegSetValueEx_(hKey,ValueName,0,#REG_BINARY,*RegBuffer,LenBuffer)
FreeMemory(*RegBuffer)
EndSelect
RegCloseKey_(hKey)
ergebnis = 1
ProcedureReturn ergebnis
Else
RegCloseKey_(hKey)
ergebnis = 0
ProcedureReturn ergebnis
EndIf
EndProcedure
Procedure RegCreateKey(Key.s, ComputerName.s)
;It create subkey if KeyPath don't exist
;Returns 1 if successful or 0 if it fails
Shared RegWow64.l,RegEx,topKey,KeyName.s
RegConvertRegKeyToTopKeyAndKeyName(Key)
lpSecurityAttributes.SECURITY_ATTRIBUTEs
If ComputerName = "."
If RegEx
GetHandle = RegCreateKeyEx_(topKey,KeyName,0,0,#REG_OPTION_NON_VOLATILE,#KEY_ALL_ACCESS|RegWow64,@lpSecurityAttributes,@hNewKey,@GetHandle)
Else
GetHandle = RegCreateKey_(topKey,KeyName,@hNewKey)
EndIf
Else
lReturnCode = RegConnectRegistry_(ComputerName, topKey, @lhRemoteRegistry)
If RegEx
GetHandle = RegCreateKeyEx_(lhRemoteRegistry,KeyName,0,0,#REG_OPTION_NON_VOLATILE,#KEY_ALL_ACCESS|RegWow64,@lpSecurityAttributes,@hNewKey,@GetHandle)
Else
GetHandle = RegCreateKey_(lhRemoteRegistry,KeyName,@hNewKey)
EndIf
EndIf
If GetHandle = #ERROR_SUCCESS
GetHandle = RegCloseKey_(hNewKey)
CreateKey = #True
Else
CreateKey = #False
EndIf
ProcedureReturn CreateKey
EndProcedure
Procedure RegCreateKeyValue(Key.s,ValueName.s,Value.s,Type,ComputerName.s) ; Creates a Key and a Value in a Single Command
;Type can be #REG_SZ or #REG_DWORD
;Returns 1 if successful or 0 if it fails
RegCreateKey(Key,ComputerName)
ProcedureReturn RegSetValue(Key,ValueName,Value,Type,ComputerName)
EndProcedure
Procedure Exit()
End
EndProcedure
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: WebGadget avancé
Il est cool ton code FALSAM, merci 
C'est vrai depuis l'abandon de FF par FRED, on peut pas dire que le webgadget est dernier cri
J'ai testé avec ça...
http://www.mon-navigateur.com/
Ca marche du feu de dieu !!!
J'suis au dernier cri....IE9
A moins que ce soit toi qui pousse le dernier

C'est vrai depuis l'abandon de FF par FRED, on peut pas dire que le webgadget est dernier cri

J'ai testé avec ça...
http://www.mon-navigateur.com/
Ca marche du feu de dieu !!!

J'suis au dernier cri....IE9

A moins que ce soit toi qui pousse le dernier

Re: WebGadget avancé
Question.
IE est propriétaire. Chrome aussi. Je crois que chromium ne l'est pas (je ne sais plus) mais firefox est libre.
Pourquoi ne pas baser ce webgadget sur firefox, quitte à alourdir le gadget en natif.
En 2017, un webgadget se doit d'être à jour.
IE est propriétaire. Chrome aussi. Je crois que chromium ne l'est pas (je ne sais plus) mais firefox est libre.
Pourquoi ne pas baser ce webgadget sur firefox, quitte à alourdir le gadget en natif.
En 2017, un webgadget se doit d'être à jour.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: WebGadget avancé
C'est un bon débat, je pense que ça pourrait mener à une amélioration significative du langage.
En fait, certains composants pourraient être intégrés, mais cela implique un développement spécifique très coûteux en temps, en énergie, en argent même. En outre, ils ne servent pas à tout le monde, et, pour une même fonctionnalité, il y a plusieurs choix possibles.
Je me demande si la clef ne se situe pas dans une plus grande facilité d'intégration de composants (avec peut-être une lib spécifique ou de nouveaux mots-clés), avec un dossier exemple dédié à cette tâche...
La bibliothèque commate remplit un peu ce rôle, mais elle est incompréhensible pour des amateurs...
En fait, certains composants pourraient être intégrés, mais cela implique un développement spécifique très coûteux en temps, en énergie, en argent même. En outre, ils ne servent pas à tout le monde, et, pour une même fonctionnalité, il y a plusieurs choix possibles.
Je me demande si la clef ne se situe pas dans une plus grande facilité d'intégration de composants (avec peut-être une lib spécifique ou de nouveaux mots-clés), avec un dossier exemple dédié à cette tâche...

La bibliothèque commate remplit un peu ce rôle, mais elle est incompréhensible pour des amateurs...
Re: WebGadget avancé
C'est justement ce que je pensais, il y a sûrement des lib nécessaires qui sont absentes), j'aurais voulu personnaliser WebGadget à ma façon, mais pas à ce point...Je me demande si la clef ne se situe pas dans une plus grande facilité d'intégration de composants (avec peut-être une lib spécifique ou de nouveaux mots-clés), avec un dossier exemple dédié à cette tâche...![]()
Win7 (x64) 64 bits Pb 5.72
Re: WebGadget avancé
@Djes
Je crois que ce n'est pas un bon exemple http://www.mon-navigateur.com)
J'aurais préféré que tu choisisses une page d'accueil qui contient des images et des textes qui bougent, c'est au niveau des sites de ce type que ça coince à mon niveau....
Je crois que ce n'est pas un bon exemple http://www.mon-navigateur.com)
J'aurais préféré que tu choisisses une page d'accueil qui contient des images et des textes qui bougent, c'est au niveau des sites de ce type que ça coince à mon niveau....
Win7 (x64) 64 bits Pb 5.72
Re: WebGadget avancé
C'est pas moi, c'est kccomega a écrit :@Djes
Je crois que ce n'est pas un bon exemple http://www.mon-navigateur.com)
J'aurais préféré que tu choisisses une page d'accueil qui contient des images et des textes qui bougent, c'est au niveau des sites de ce type que ça coince à mon niveau....
Re: WebGadget avancé
Certes c'est surement du boulot dans l'un ou l'autre des cas mais le webgadget en l'état est de plus en plus obsolète. Vu qu'il fait partie de PB, le supprimer serait une régression donc autant lui donner une nouvelle jeunesse.djes a écrit :En fait, certains composants pourraient être intégrés, mais cela implique un développement spécifique très coûteux en temps, en énergie, en argent même. En outre, ils ne servent pas à tout le monde, et, pour une même fonctionnalité, il y a plusieurs choix possibles.
Je me demande si la clef ne se situe pas dans une plus grande facilité d'intégration de composants (avec peut-être une lib spécifique ou de nouveaux mots-clés), avec un dossier exemple dédié à cette tâche...![]()
Peut être à ajouter dans la todo list de la team.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: WebGadget avancé
Ce que j'ai du mal à comprendre c'est que Fred avait sûrement du déjà faire ce travail du temps ou l'on pouvait mettre la constante FF dans webgadget
FF a évolué mais ya du se produire quelque chose de violent pour que Fred decide d'abandonner de mettre à jour pb en rapport de FF
Comme si demain on pouvait plus utiliser certaines lib qui sont plus ou moins incluses dans pb depuis un certain temps.
Peut être qu'a cette epoque FF a entièrement changé sa structure et ça faisait trop de boulot de le suivre.
Ou alors une histoire de licence, mais je pense pas..
FF a évolué mais ya du se produire quelque chose de violent pour que Fred decide d'abandonner de mettre à jour pb en rapport de FF
Comme si demain on pouvait plus utiliser certaines lib qui sont plus ou moins incluses dans pb depuis un certain temps.
Peut être qu'a cette epoque FF a entièrement changé sa structure et ça faisait trop de boulot de le suivre.
Ou alors une histoire de licence, mais je pense pas..