Plugins:PluginDirectory/HowPluginDetectionWorks: Difference between revisions

No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 46: Line 46:
=== No reliable GUIDs or UUIDs ===
=== No reliable GUIDs or UUIDs ===


There is no reliable unique identifier, such as a GUID or UUID.
Across all plugins, there is no single reliable unique identifier - such as a GUID or UUID.


This means that we'll need to use a combination of all of the above properties
This means that we'll need to use a combination of all of the above properties
Line 61: Line 61:
<code>navigator.plugins</code>.
<code>navigator.plugins</code>.


Most plugins include some expression of a version in the name or
Luckily, most plugins include some expression of a version in the name or
description.  But, this version does not always exactly match the  
description.  But, this version does not always exactly match the  
'''fully qualified version number''' of the plugin.  Thus, there can be some
'''fully qualified version number''' of the plugin.  Thus, there can be some
Line 72: Line 72:
However, this version is not usually available via
However, this version is not usually available via
<code>navigator.plugins</code>. Instead, client-side detection code has to
<code>navigator.plugins</code>. Instead, client-side detection code has to
inspect the description. On Windows, this reads "''Adobe Shockwave for Director Netscape plug-in, version 11.5''". We can extract the version "''11.5''" from that text.
inspect the description. [https://bug546727.bugzilla.mozilla.org/attachment.cgi?id=427718 On Windows, this reads "''Adobe Shockwave for Director Netscape plug-in, version 11.5''".] We can extract the version "''11.5''" from that text.


Now, suppose that there were two releases of Shockwave for Director - say, versions 11.5.6.606 and
Now, suppose that there were two releases of Shockwave for Director - say, versions 11.5.6.606 and
Confirmed users
920

edits