Qt5.4 webkit flash plugin not detected on Windows
-
Hello,
I am trying to port a Qt5 web application from Linux/OSX to Windows. The application compiles and runs fine on Windows but I cannot get the flash plugin to work (works fine on Linux and OSX). I am using the latest Qt SDK (v5.4) on Windows 7 Service Pack 1 (I also tried on an old machine running Windows XP SP3 with the exact same results).
Here is a SSCCE that reproduce the exact same problem I have with my app. If I compile this example with Qt 4.8.6, everything works fine (flash content is loaded, I can play some music,...) but not if I compile it with Qt 5.4. I've tried to compile the app both with MSVC2010-32bit and MSVC2013_64bit (release and debug) without succes. I also tried to copy the flashplugin dll to both my app folder and %APPDATA%\Mozilla\Plugins, again without succes.
Am I missing something obvious when using Qt 5.4 on Windows or is the plugin detection broken in Qt 5.4? Should I report a bug?
@#-------------------------------------------------
Project created by QtCreator 2015-01-14T17:05:40
#-------------------------------------------------
QT += core gui webkit
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets webkitwidgets
TARGET = TestFlash
TEMPLATE = app
SOURCES += main.cpp@- main.cpp
@#include <QApplication>
#include <QUrl>
#include <QWebSettings>
#include <QWebView>int main(int argc, char *argv[])
{
QApplication a(argc, argv);QWebSettings* settings = QWebSettings::globalSettings(); settings->setAttribute(QWebSettings::PluginsEnabled, true); settings->setAttribute(QWebSettings::JavascriptEnabled, true); QWebView v; v.load(QUrl("http://grooveshark.com")); v.show(); return a.exec();
}
@ -
That appears to be a problem of the site's detection of Flashplayer
try for an example to load different flash page e.g. https://www.youtube.com/watch?v=Yj0l7iGKh8g
I tested it with MSVC2013 64 bit on Win7 and it works for youtube but on your site it shows a message saying:"Problem Loading Flash
We had a problem loading Adobe Flash. You may have a Flash blocker installed. If so, please disable the blocker (or add an exception) and reload to start listening.You can also try our beta HTML5 version for a flash-free experience."
I don't have any flash blockers so it must be an error on their side in flash player version detection...
Even these work (showing empty page but working - right click on content shows the FlashPlayer menu)
http://grooveshark.com/static/JSQueue_20141222152342.swf
http://grooveshark.com/HTML5Shim.swfI used browser example for testing.
btw If you enable Insperctor you'll see a lot of errors and warnings on that site - mostly CSS and a few JS
and this message
@"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Join Our Team!
We're hiring and you should apply: http://careers.grooveshark.com
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @
HTH -
Thank you for your input and for taking the time to test it. I confirm the URLs you mentioned are also working for me (I can see the flash menu too)
I don’t have any flash blockers so it must be an error on their side in flash player version detection…
Then the question is why does it load fine when I compile the example with Qt4??? It also work fine within firefox or chrome so the website definitely is able to detect the flash player version
I am puzzled by this issue...
-
Few more ideas to test:
-
You can try upgrading FlashPlayer to latest version. Recently I've seen flash blocked with the message to upgrade to latest (not sure if the message comes from browser or Flashplayer itself though)
-
If switching back to Qt 4.8 is not an option then you can try the new QWebEngine based on Blink in place of old WebKit
AFAIK Blink/Chromium comes with different Flashplayer version
NB! Be careful with the examples/demos - Yes, now we have 2 browser examples: one is WebKit based, other uses Blink/QWebEngineWidgets
or you could try QML based ones :-)HTH
-
-
Hello,
AFAIK my flash plugin is up to date.
I ended up porting my app to Qt 4.8.6 on Windows (not a big deal, the code is a bit less clean but I can live with that).
I've tried the new Qt Web Engine but it does not support flash yet. I'll keep an eye on the webengine project and will port my app when flash support is ready.