With some delay I managed to go back to this issue. To better explain my problem, I copied the example at:
http://qt-project.org/doc/qt-4.8/webkit-simplewebplugin.html
I added a print at the beginning of
@QObject *CSVFactory::create(const QString &mimeType, const QUrl &url,
const QStringList &argumentNames,
const QStringList &argumentValues) const
{
qDebug() << "CSVFactory::createm mimeType: " << mimeType;
[...]
@
To be able to detect on console when the browser loads the plugin.
My index.html looks like this:
@<html>
<head></head>
<body>
Embedded object:
<object id = "plugin"
style="display:none"
type="text/csv;header=present;charset=utf8"
data="qrc:/data/accounts.csv"
width="100%" height="300"></object>
</body>
<div id="msg1"></div>
[removed]
setTimeout(function(){
document.getElementById("msg1").textContent = "Display is set to block";
document.getElementById("plugin").style.display="block";
}, 5000);
[removed]
</html>@
when the example application is launched the print is not visible even though the embedded object of the correct mime type is in the HTML. Afer 5 seconds timeout, the javascript changes the display property to block and at that point the print appears on the console.
This should prove that the plugin object is not loaded unless visible, which doesn't seem to be what w3c specifies, as display:none should only hide the object.
I hope my question is now clearer and somebody will be able to answer it.
Thank you!