DotNetOpenAuth.AspNet - How to avoid popupui=1 on Windows Live? - oauth

In contrast to all the other questions I've found here on SO, I DON'T want a popup window. The trouble is that it seems by default that with Windows Live/Microsoft Account DotNetOpenAuth seems to set popupui=1 on the query string from RequestAuthentication by default.
There's a UIMode enum but that only seems to have the single value popup.
Does anyone know how to prevent it doing this?
update
According to the docs Windows Live has a display parameter which accepts touch, page, popup or none. Unfortunately, "page" results in popupui=1 in exactly the same way as "popup" does.

It seems that this isn't possible after all;
http://social.msdn.microsoft.com/Forums/en-US/90a2d464-afd9-44ba-970c-8290353a259d/how-do-i-avoid-windows-live-appending-popopui1-to-my-authorize-request?forum=messengerconnect

Related

Why the url of youtube will be changed when I hover mouse on a video?

I was surfing on youtube and I realized something.
When I hover mouse on a video, then the url will be changed.
Interestingly, this happens in some browsers.What's the matter? Why does string start with &? https://www.youtube.com/?&ab_channel=NASA
What is the benefit to change the URL?
Interestingly, this happens in some browsers.
Different browser different support, a what you see is what you get is a standard we all want and must write our scripts specific to each browser if a feature requires it. In this case the new feature may not be widely supported or their coding wasn't compliant enough to give you this exact result each browser.
What's the matter?
No problem here, the URL is a tiny-bit broken but won't impact site performance unless you happen to error out the server and crash the entire network.
Why does string start with ?& https://www.youtube.com/?&ab_channel=NASA
What is the benefit to change the URL?
A URL alone has no parameters passed to it, so youtube.com. When a parameter is passed through the site on its HTTPS request will check these and determine what it is you want. So the response will return NASA cause ab_channel included it.
Because ? has nothing after it like ?video=asd89sa982 it's treated as undefined and serves no value or importance.
YouTube can fix it if they desire with script adjustment.
the URLs works in a way that when the site has started or reloaded, It's going to check for any element that has a href which has a link that has either https://www.youtube.com/watch?v= or https://youtu.be/ basically a YouTube video and then save those links, when one of them i hovered over, It's tell which. This works fine but one downside that I'm currently facing is that new links that are added in after the site has already started or reloaded won't be counted and therefore when I hover them it won't show the links, I'm reffering to comments; for-example if I make a comment that has a link to a video, after i post that comments and hover over that link I posted, It won't show the link. I could make a function which reloads every like 5 seconds but this doesn't seem to be a good idea. Plus what I'm actually working on, realoding every time won't be good.

How can I get element handles for testing my Cordova app with Appium?

I'm trying to test our Cordova app in Appium. I'm using the node wd interface. When I view the elements in the Appium Inspector, they don't seem to have anything that I can use as far as identifiers. For example, I see the following on my email text input for login:
I am setting various things in the HTML for this element, such as id, name, etc. (it also has a label that is using the for attribute that points to the input.) but it does not appear to have anything that I can look for. So I end up looking for UIATextField elements with value of Email. This is undesirable since I do not have a consistent way to look up inputs. For example, if I change the value of the input, I would need to look up the element by that new input.
So my question is: how can I set accessibility identifiers or any handles for this element from the HTML from Cordova? I would even take data-* attributes that I could query for. Or am I going about this incorrectly?
I ask about accessibility identifiers since I have read in other places that I should not use XPath selectors for Appium tests, but I can see no clear reason why this is the case (it seems to work for me.)
Thanks for your help!
Have you tried changing the context? https://stackoverflow.com/a/24878765/31252. Currently you are working on the UIAutomation layer, which is native iOS and doesn't know anything about your HTML but I am hoping when you switch to a webview context then you should be able to see your identifiers.
Changing context definetely works in webviews (android and iOS) but I am not sure how this would impact cordova rendered pages

openWYSIWYG disabled textarea

Is there anyone here uses openWYSIWYG 1.4.7?
I wanted to display only my textarea by calling
WYSIWYG.display('textarea1');
And I want the text on my textarea not to be selectable that's why I tried this
<textarea1 id=textarea1 name='test1' disabled ></textarea>
but it doesn't work.
Any suggestion?
I doubt if you can prevent selecting the text in text area directly.
You can try placing an element like iframe on top of with with higher Z-index.. so when the user selects what they see as a test area, he will actually be interacting with transparent iframe.
Please keep in mind that any such protection(including the one above) should be not used as a security option. User can always find a way to go select the text or even edit it before submitting it.. they can use web developer plugins like Firebug to do the trick.
Even HTTPS cant prevent this, when the user is itself doing the trick in his browser.
You do your validation in server side, if applicable.

ASP.NET MVC 3 simple and reliable mobile device detection: use 51degrees.mobi or go native?

In my ASP.NET MVC 3 web application I am overriding the View name in a custom view engine to present a different view optimized for non-tablet mobile devices.
All I want to perform this view override is an accurate value for Request.Browser.IsMobileDevice and the device's native display width.
51degrees.mobi feels very heavy and convoluted for this simple use case. Maybe that is just my frustration at trying to wade through all of the examples and documentation on the 51degrees web site to get answers to what seem like simple questions for a simple implementation.
Absent 51degrees, I do get values for Request.Browser.IsMobileDevice and Request.Browser.ScreenPixelsWidth. I've noticed that for desktop browsers the width is always 640 whereas Request.Browser.Capabilities["51Degrees.mobi"] contains a value of "Unknown" for ScreenPixelsWidth. I guess the Unknown value is more accurate given the server-side nature of the implementation.
My main question is: do I really need 51degrees for my simple requirements?
If I don't use 51degrees, are there some specific examples of browsers that I will fail to detect IsMobileDevice and the screen width correctly? For example will the built-in .NET Request.Browser.IsMobile and ScreenPixelsWidth values be inaccurate or absent for the new iPad when it comes out or for the latest Android browser version? My site gets about 65% mobile users, many on lame feature-phones with browsers like the UP.Browser, so getting mobile right is somewhat important.
If I use 51degrees, do I need to always drill down into Request.Browser.Capabilities["51Degrees.mobi"]? Or does 51degrees override/update the value of Request.Browser.IsMobileDevice to be in synch with its evaluation of the browser? Clearly it does not override Request.Browser.ScreenPixelsWidth.
I am open to answers of "you are doing it wrong, here is a better way" as long as they are not suggesting MVC 4 or involving a paid solution such as WURFL.
This FAQ explains which properties of Request.Browser are overridden by 51Degrees.mobi.
There are very few cases where you should ever access the "51Degrees.mobi" key directly. Where the property has been overridden access it as you normally would. Where the property is not overridden or not covered by HttpBrowserCapabilities you should use the property name. For example:
var isTablet = Request.Browser["IsTablet"];
See this link for a list of available properties.
As it should overriden ScreenPixelsWidth I'd be interested to know more about your test environment. As .NET requires the value to be numeric if 51Degrees.mobi can not determine the size (Unknown) then the value will not be overridden.
Thank you for considering 51Degrees.mobi.

Prevent URL being stored to browser history

I need to open a popup window to a url with certain parameters. The parameters contain information that I would like to prevent from showing up in the browser history. The url points to a 3rd party site and I can't affect the way those parameters are transferred to them (can't use POST for example).
Currently I have worked around this so that I have a page on our server that loads the content of the third party page to an iframe and this seems to work.
However, I was wondering if there are any other ways of doing this and are they maybe somehow better or worse? Javascript or something? The negative side of this iframe thing is that it is not XHTML Strict compliant, which is something we are aiming for.
There are other similar questions here but I couldn't find a good answer.
Edit: Apparently this does not work as expected in IE. It might be that I still keep the solution for another reason, but it would be nice to know if there is a "bulletproof" solution.

Resources