Drop-down menu of Dojo do not open up in QtWeb browser - qt

I am using QtWeb browser (www.qtweb.net) for my development. When I try to open the following URL in the browser, the drop-down menus of the buttons do not open up:
http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/form/test_Button.html
This issue is not seen across other browsers.
Any workarounds/suggestions/ideas would be appreciated.

I encountered the same problem. Interestingly, the popup menus do not work since version 1.7.1.
This is not bug of dojo. This is some mistake in QtWebKit. The problem in touchpad device that defined by default in precomiled qt webkit libs (even if the touchpad does not exists physically).
Temporary solution is to edit dojo/has.js file (find this lines in dojo >= 1.7.1):
if(has("host-browser")){
var agent = navigator.userAgent;
has.add("dom-addeventlistener", !!document.addEventListener);
has.add("touch", "ontouchstart" in document); <<<<< Comment this line
has.add("device-width", screen.availWidth || innerWidth);
has.add("agent-ios", !!agent.match(/iPhone|iP[ao]d/));
has.add("agent-android", agent.indexOf("android") > 1);
}
Here another solution (more painfully):
Link to the helpful message source
You must recompile QtWebKit with DEFINES+=ENABLE_TOUCH_EVENTS=0 that defined in WebCore/features.pri.
Then you qt web projects will be work properly!

Related

Panels not visible in React Storybook

I am using Storybook version 3.3.15 on Windows 7 running node version 6.3.1 and npm version 3.10.6.
On running storybook, I see 'No panels Available' message in the bottom of the page where actions panels are rendered. I have imported addon-actions in addons.js: import #storybook/addon-actions/register and the module is also present in node_modules folder. I am not getting any errors regarding this during webpack compliation or in browser console.
How do I make the Action Panel appear?
Note: I cannot update the Node and NPM versions because I am working on a professional level app wherein lots of people are involved and its a very big codebase.
In my case they were simply hidden and in the wrong orientation. Had to use the D and A keyboard shortcuts to make them appear again.
in my case just hitting d worked
For me the whole main menu disappeared at one point. The only thing that helped was running sessionStorage.clear() in the console and then refreshing the page.
First of all, check if you have the addon panel set to show/hide in the dropdown menu at the top left of the Stoybook UI screen, also check the dropdown item called 'change addons orientation' (mine was changed and was bumped off screen because of screen width).
If that doesn't work, try setting the options in the storybook config.js file:
In the Storybook config.js file you can add an options parameter for some default settings, this includes setting the visibility and position of the addons panel.
import { addParameters } from '#storybook/react';
// settings for storybook - show and position addon panel
addParameters({
options: {
// display panel that shows addon configurations
showPanel: true,
// where to show the addon panel --- #type {('bottom'|'right')}
panelPosition: 'bottom',
}
});
In my case I was missing the .storybook/addons.js file. It looks like this became a requirement in a recent version because the actions add-on used to work fine for me initially.
To clarify potential confusion:
As the documentation specifies, you need to have a addons.js file in your hidden .storybook/ directory (most likely at the root of your project) even if all it contains is just this 1 line.
import '#storybook/addon-actions/register';
I Just found out it by trying different keys on my keyboard:
If you press "S" - it switches Sidebar in StoryBook Of
and On! Try it!
My Browser: Chrome, Operating system: Mac OS
In Mac I solved it by pressing fn + s.
I was having this problem; hitting S would shift my components without showing the sidebar, and even after clearing my localStorage and sessionStorage I could barely see the edge of my sidebar.
Then, I realized that I had zoomed in to see my components more closely, and that the sidebar was hiding/showing, but just off-screen.. I just needed to zoom out. 🤦‍♂️
Sharing here in case anyone makes the same mistake.
I had a similar problem and installing #storybook/addons (in addition to the steps you mentioned) fixed it.
Run:
npm i -D #storybook/addons

Chrome how to open popup in new window instead of new tab (20170629_chrome 59.0.3071.115)

Editted: For my probelm, not sure but I think hat this update of Google Chrome do not support many options for some specific browsers. So when we has them in specs param of window.open(), it omits all the height=h,width=w,left=x,top=y which make chrome open link in new window instead of new tab
For my program, now I only keep this and this solve the problem:
window.open(form_url, form_name, "width=w,height=h,left=x,top=y");
//our problem code below
//window.open(form_url, form_name, "width=w,height=h,left=x,top=y,resizable=yes,location=yes,scrollbars=yes");
//End editted =================
Could someone help me in configuring Chrome so that popup will open in new window, instead of new tab? (Or any programmatically method for asp.net, c#)
It begin from today 2017/06/29, maybe newest update from chrome version 59.0.3071.115, and all popup in chrome would be opened in new tab instead of new window. This change our website behavior (our website use a main menu and others popup forms), and is very unexpected.
(Tested in some others site with ads popup, same behavior).
(Tested in Firefox: open popup in new window ok for all those sites, not new tab).
I have read changelog here but no mention about this change: chrome 59.0.3071.115
I have searched google, too, but got no luck, maybe because of my google skill, maybe because this is new change from Chrome so google can't find question about it?
Thank you for any help.
On programmatically open new window and not new tab, you can do it via JQuery:
<script type="text/javascript">
$(document).ready(fncOpenNewWindow);
function fncOpenNewWindow() {
$('#testURL').unbind();
$('#testURL').on('click', function () {
window.open("", 'Window Name', "height=200,width=200,modal=yes,alwaysRaised=yes");
});
}
</script>
This is the control:
Click Me
This is tested on Chrome. I haven't tested this on other browser but this should work fine with Chrome.
I have the problem too. I fixed by change toolbar=no or remove toolbar feature.
window.open('http://google.com','x', 'height=600,width=600,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=no')

How to force Chrome browser to reload .css file while debugging in Visual Studio?

I'm currently editing a .css file inside of Visual Studio 2012 (in debug mode). I'm using Chrome as my browser. When I make changes to my application's .css file inside of Visual Studio and save, refreshing the page will not load with the updated change in my .css file. I think the .css file is still cached.
I have tried:
CTRL / F5
In Visual Studio 2012,
Go to project properties, Web tab
Choose Start External Program in the Start Action section
Paste or browse to the path for Google Chrome (Mine is C:\Users\xxx\AppData\Local\Google\Chrome\Application\chrome.exe)
In the Command line arguments box put -incognito
Used the Chrome developer tools, click on the "gear" icon, checked "Disable Cache."
Nothing seems to work unless I manually stop debugging, (close out of Chrome), restart the application (in debug).
Is there any way to force Chrome to always reload all css changes and reload the .css file?
Update:
1. In-line style changes in my .aspx file are picked up when I refresh. But changes in a .css file does not.
2. It is an ASP.NET MVC4 app so I click on a hyperlink, which does a GET. Doing that, I don't see a new request for the stylesheet. But clicking F5, the .css file is reloaded and the Status code (on the network tab) is 200.
To force chrome to reaload css and js:
Windows option 1: CTRL + SHIFT + R
Windows option 2: SHIFT + F5
OS X: ⌘ + SHIFT + R
Updated as stated by #PaulSlocum in the comments (and many confirmed)
Original answer:
Chrome changed behavior. Ctrl + R will do it.
On OS X: ⌘ + R
If you have problems reloading css/js files, open the inspector
(CTRL + SHIFT + C) before
doing the reload.
There are much more complicated solutions, but a very easy, simple one is just to add a random query string to your CSS include.
Such as src="/css/styles.css?v={random number/string}"
If you're using php or another server-side language, you can do this automatically with time(). So it would be styles.css?v=<?=time();?>
This way, the query string will be new every single time. Like I said, there are much more complicated solutions that are more dynamic, but in testing purposes this method is top (IMO).
[READ THE UPDATE BELOW]
Easiest way I've found is in Chrome DevTools settings.
Click on the gear icon (or 3 vertical dots, in more recent versions) in the top-right of DevTools to open the "Settings" dialog.
In there, tick the box: "Disable cache (while DevTools is open)"
UPDATE: Now this setting has been moved. It can be found in the "Network" tab, it's a checkbox labeled "Disable Cache".
You are dealing with the problem of browser cache.
Disable the cache in the page itself. That will not save supporting file of page in browser/cache.
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1990 12:00:00 GMT" />
This code you require/need to insert in head tag of the page you are debugging, or in head tag of master page of your site
This will not allow browser to cache file, eventually files will not be stored in browser temporary files, so no cache, so no reloading will be required :)
I am sure this will do :)
In my case,in Chrome DevTools settings, just set "Disable cache (while DevTools is open)" doesn't work, it needs to check "Enable CSS source maps" and "Auto-reload generated CSS",which are listed in source group, to make this cache issue go away.
i had faced same problem here! but I sure,my resolution is better than all above examples,just do this,
Pull up the Chrome developer console by pressing F12
Right click on the reload button at the top of the browser and select "Empty Cache and Hard Reload."
That`s it!
Press SHIFT+F5.
It is working for me with Chrome version 54.
With macOS I can force Chrome to reload the CSS file in by doing
⌘ + SHIFT + R
Found this answer buried in the comments here but it deserved more exposure.
I'm using Edge Version 81.0.416.64 (Official build) (64-bit) and its based on the Chromium open source project.
Press F12 to get into Dev Tools.
Click Network Tab
Check Disable cache
Current version of Chrome (55.x) does not reload all resources when you reload the page (Command + R) - and that is not useful for debugging the .css file.
Command + R works fine if you want to debug only the .html, .php, .etc files, and is faster because works with local/cached resources (.css, .js).
To manually delete browser's cache for each debug iteration is not convenient.
Procedure to force reload .css file on Mac (Keyboard Shortcut / Chrome):
Command + Shift + R
I know it's an old question, but if anyone is still looking how to reload just a single external css/js file, the easiest way now in Chrome is:
Go to Network tab in DevTools
Right click on the resource and select Replay XHR to repeat the request
Make sure that the Disable cache option is selected to force the reload.
For macOS Chrome:
Open developers tools cmd+alt+i
Click three dots on the top right corner in developers tools
Click settings
Scroll down to Network
Enable Disable cache (while DevTools is open) see screenshot:
Why is it needed to refresh the whole page? Just refresh only css files without reloading the page. It is very helpful when, for example, you have to wait a long response from DB. Once you get data from DB and populate the page, then edit your css files and reload them in Chrome (or in Firefox). To do that you need to install CSS Reloader extension. Firefox version is also available.
You can copy paste this script into Chrome console and it forces your CSS scripts to reload every 3 seconds. Sometimes I find it useful when I'm improving CSS styles.
var nodes = document.querySelectorAll('link');
[].forEach.call(nodes, function (node) {
node.href += '?___ref=0';
});
var i = 0;
setInterval(function () {
i++;
[].forEach.call(nodes, function (node) {
node.href = node.href.replace(/\?\_\_\_ref=[0-9]+/, '?___ref=' + i);
});
console.log('refreshed: ' + i);
},3000);
I solved by this simple trick.
<script type="text/javascript">
var style = 'assets/css/style.css?'+Math.random();;
</script>
<script type="text/javascript">
document.write('<link href="'+style+'" rel="stylesheet">');
</script>
Still an issue.
Using parameters like "..css?something=random-value" changes nothing in my customer-support experience. Only name changes works.
Another take on the file renaming. I use URL Rewrite in IIS. Sometimes Helicon's Isapi Rewrite.
Add new rule.
+ Name: lame-chrome-fix.
+ Pattern: styles/(\w+)_(\d+)
+ Rewrite URL: /{R:1}.css
Note: I reserve the use of undercase to separate the name from the random number. Could be anything else.
Example:
<link href="/styles/template_<%
Response.Write( System.DateTime.UtcNow.ToString("ddmmyyhhmmss")); %>"
type="text/css" />
(No styles folder it's just a name part of the pattern)
Output code as:
<link href="/styles/template_285316115328"
rel="stylesheet" type="text/css">
Redirect as:
(R:1 = template)
/template.css
Only the explanation is long.
Hold down Ctrl and click the Reload button. Or, Hold down Ctrl and press F5. just open the Chrome Dev Tools by pressing F12. Once the chrome dev tools are open, just right click on the refresh button and a menu will drop down.
Just had this problem where one person running Chrome (on a Mac) suddenly stopped loading the CSS file. CMD + R did NOT work at all. I don't like the suggestions above that force a permanent reload on the production system.
What worked was changing the name of the CSS file in the HTML file (and renaming the CSS file of course). This forced Chrome to go get the latest CSS file.
If you are using Sublime Text 3, using a build system to open the file opens the most current version and provides a convenient way to load it via [CTRL + B]
To set up a build system that opens the file in chrome:
Go to 'Tools'
Hover your mouse over 'build system'. At the bottom of the list brought up, click 'New Build System...'
In the new build system file type this:
{"cmd": [ "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "$file"]}
**provided the path stated above in the first set of quotes is the path to where chrome is located on your computer, if it isn't simply find the location of chrome and replace the path in the first set of quotes with the path to chrome on your computer.
The most simplest way to achieve your goal is to open a new incognito window in your chrome or private window in firefox which will by default, not cache.
You can use this for development purposes so that you don't have to inject some random cache preventing code in your project.
If you are using IE then may god help you!
Ctrl + F5
Shift + F5
Both work
Easiest way on Safari 11.0 macOS SIERRA 10.12.6:
Reload Page From Origin, you can use help to find out where in the menu it is located, or you can use the shortcut option(alt) + command + R.
One option would be to add your working directory to your Chrome "workspace" which allows Chrome to map local files to those on the page. It will then detect changes in the local files, and update the page in real-time.
This can be done from the "Sources" tab of Devtools:
Click on the "Filesystem" tab in the file browser sidebar, then click the +Plus sign button to "Add folder to workspace" - you will be prompted with a banner at the top of the screen to allow or deny local file access:
Once allowed, the folder will appear in the "Filesystem" tab on the left. Chrome will now attempt to associate each file in the filesystem tab with a file in the page. Sometimes you will need to reload the page once for this to function correctly.
Once this is done, Chrome should have no trouble picking up local changes, in fact you won't even need to reload to get the changes in many cases, and you can make edits to the local files directly from Devtools (which is extremely useful for CSS, it even comments out CSS lines when you toggle the checkboxes in the Styles tab).
More information on Workspaces in Chrome.
Chrome/firefox/safari/IE will reload the entire page by these shortcuts
Ctrl + R (OR) Ctrl + F5
Hope it may helps you!.
If you are using SiteGround as your hosting company and none of the other solutions have worked, try this:
From the cPanel, go to "SITE IMPROVEMENT TOOLS" and click "SuperCacher." On the following page, click the "Flush Cache" button.

How to fix Devexpress ASpxUploadControl control when pressing Add button in firefox?

Hi
I'm using ASpxUploadControl from devexpress asp.net tools, 'Add' button was allowed and when I press it in Firefox4 I get this javascript error:
this.fileInputSeparatorTemplateNode is undefined
Source File: http://localhost:21390/DXR.axd?r=1_53
Line: 370
But when using it on IE8 every thing is all right, any help with this ?
which version of DX controls are you using? I tried to reproduce the problem using the ASPxUploadControl - Multi-File Upload demo (it is built using the latest, 10.2.8, release) and do not see this issue. Please try to install the same version, perhaps it will help.

How do you debug printable CSS?

I use Firebug and IE Developer Toolbar all the time to debug tricky CSS problems. But occasionally, a tricky bug comes up that only appears when you go to print the page.
What techniques/tools do you use to diagnose problems like this? Is there a way to get more use out of traditional CSS debugging tools in print view?
Updated: I already use a PDF printer to avoid wasting paper; my problem is that I can't right-click on the printed DOM. Some of the other answers below are quite helpful, thanks. :-)
Just found a comment by lee-penkman about a new feature in Firefox here: Press Shift-F2 in Firefox to open the browser console (not the javascript console), then enter media emulate print. Works absolutely great!
Update Sept. 2018: Starting with Firefox 62, the developer console has disappeared. There doesn't seem to be a way to activate print style emulation now.
Update Nov. 2019: It seems that in Firefox 69, there is again a new button for print style emulation. See the other answer on this page: https://stackoverflow.com/a/58015662/195476
In Chrome 51:
Open devtools (CTRL + F12 or CTRL + SHIFT + I) and click on the ... menu, click More Tools > Rendering settings to open the Rendering tab of the developer console (alternatively, if the console is open just navigate to this tab).
In that tab, select and check the box for Emulate Media: print.
I use the WebDeveloper plugin and the CSS --> Display CSS by Media Type --> Print to view the CSS as it would when printed. Firebug's inspection utilities work with the CSS as filtered by the plugin.
In Firefox 69, I found a button to simulate print media. Just open the Developer Tools (F12) and click on Inspector. The toggle button is the leftmost icon that's in the highlighted section in the screenshot below, the one that looks like a sheet of paper.
I use Firefox and the developer toolbar.
I use the real time css edit tool in the task bar, it's pretty usefull to modify your css on the fly on see the results in real time.
I also use the outline feature, which the div and stuff like that on mouse over, on your website. Really helpful to find div.
For the print problem, go to CSS -> Display CSS style by media -> print
There are a lot of other tool available in this one, I probably use about 10% of it.
Try maybe you find something usefull.
In chrome developer tools (F12 \ Ctrl(cmd on mac) + Shift + C):
In the emulation tab (From Chrome 32 onward IMHO), there is a tab for 'Media'.
There you can check the media emulation checkbox and select the media you would like to emulate ('print', 'screen' etc.)
How about just listing your print CSS last, and removing the "print" condition from your CSS link or import statement? Then you're debugging the print CSS in the browser window.
I use the Adobe PDF virtual printer, because it's the closest thing to a real printer you'd get, without wasting ink and paper.
Anyway, it's recommended to have a separate CSS for prints, with much simpler graphics and less of the images you use just for design purposes.
I always used web developer toolbar (as described in the other answers), but Firebug seems to miss some styles from time to time. So I added a Bookmark to my browser and added the following Javascript as URL of the bookmark. Now I can simply switch to print style by clicking the bookmark:
javascript:(function(){var%20h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href&&(f.media=='print'||f.media=='screen')){var%20g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');if(f.media.toLowerCase().match(/screen/))f.media="dontshow";if(f.media.toLowerCase().match(/print/))f.media="all";f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new%20Date().valueOf());}}})()
The code above finds all stylesheet links, tests if it is media=print and if so it changes it to media=all (and hides all media=screen by replacing it with media=dontshow) and reloads the stylesheets by adding a time token to the URL. The basic reload script is from someone else, I added media part.
This works great for me!
This would be the more readable version of the JavaScript URL above for explanation:
javascript: (function() {
var h, a, f;
a = document.getElementsByTagName('link');
for (h = 0; h < a.length; h++) {
f = a[h];
if (f.rel.toLowerCase().match(/stylesheet/) && f.href && (f.media == 'print' || f.media == 'screen')) {
var g = f.href.replace(/(&|\?)forceReload=\d /, '');
if (f.media.toLowerCase().match(/screen/)) f.media = "dontshow";
if (f.media.toLowerCase().match(/print/)) f.media = "all";
f.href = g(g.match(/\?/) ? '&' : '?')
'forceReload=' (new Date().valueOf());
}
}
})()
Print to Microsoft XPS Document Writer if you don't want to pay money. Or use SnagIt if you've got the funds (free trial on site).

Resources