Simple jQuery Menu

Now days it seems that there is a plug-in for almost any jQuery task.  The trouble with plug-ins is that they are often not flexible enough and the designer / developer who is using them is not practicing developing their own solution.  It is too easy to Google for a plug-in to do the job.  Googling for the correct solution may take just as long as creating one yourself.   Do not take me wrong; I use plug-ins, but I use plug-ins when it is a more complicated solution and not worth my time or it is just a one-off solution. Continue reading Simple jQuery Menu

Tricking Out Classic ASP With JSON – Updated

Amendment:  Some people have had trouble downloading the aspJSON.asp file from the site where I had found it.  You can download the file from me.

Amendment:: Some people were asking for a solution to Mandrill and SendGrid. Both solutions are similar and therefore I selected one to publish. You can contact me if you would like more. See the following: Part II – The Mandrill Experience

Sometimes you get trapped in using languages you don’t prefer. I often find my self playing in the bowels of Classic ASP. Now Classic ASP is not bad, but it is a little outdated and has not really been built upon for a few years. I have recently built some new tools in Classic ASP to compliment an existing tool set; however, I tricked out ASP with JSON.

To do this I had found a wonderful import file written by Gerrit van Kuipers. You can download a copy of the file from: www.aspjson.com. Yes it is version 1.0, but I have not found an issue with it yet.

Continue reading Tricking Out Classic ASP With JSON – Updated

DotNet Postbacks Not Working in IE11

Many people are posting the woes of DotNet Postbacks not working in IE11.  I too experienced this and remembered that there were app_browser files that could be modified to give the browser further instructions.  With a quick google search I was able to find the exact solution that I was looking for.  I cannot take credit for it so I will share the original URL from which I got my answer. [ Answer ]

However Here is the code so you do not have to click on the link above:

 <browsers>  
   <browser id="IE11" parentID="Mozilla">  
     <identification>  
       <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />  
       <userAgent nonMatch="IEMobile" />  
     </identification>  
     <capture>  
       <userAgent match="Trident/(?'layoutVersion'\d+)" />  
     </capture>  
     <capabilities>  
       <capability name="browser" value="IE" />  
       <capability name="layoutEngine" value="Trident" />  
       <capability name="layoutEngineVersion" value="${layoutVersion}" />  
       <capability name="extra" value="${extra}" />  
       <capability name="isColor" value="true" />  
       <capability name="letters" value="${letters}" />  
       <capability name="majorversion" value="${major}" />  
       <capability name="minorversion" value="${minor}" />  
       <capability name="screenBitDepth" value="8" />  
       <capability name="type" value="IE${major}" />  
       <capability name="version" value="${version}" />  
     </capabilities>  
   </browser>  
   <!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko -->  
   <browser id="IE110" parentID="IE11">  
     <identification>  
       <capability name="majorversion" match="11" />  
     </identification>  
     <capabilities>  
       <capability name="ecmascriptversion" value="3.0" />  
       <capability name="jscriptversion" value="5.6" />  
       <capability name="javascript" value="true" />  
       <capability name="javascriptversion" value="1.5" />  
       <capability name="msdomversion" value="${majorversion}.${minorversion}" />  
       <capability name="w3cdomversion" value="1.0" />  
       <capability name="ExchangeOmaSupported" value="true" />  
       <capability name="activexcontrols" value="true" />  
       <capability name="backgroundsounds" value="true" />  
       <capability name="cookies" value="true" />  
       <capability name="frames" value="true" />  
       <capability name="javaapplets" value="true" />  
       <capability name="supportsCallback" value="true" />  
       <capability name="supportsFileUpload" value="true" />  
       <capability name="supportsMultilineTextBoxDisplay" value="true" />  
       <capability name="supportsMaintainScrollPositionOnPostback" value="true" />  
       <capability name="supportsVCard" value="true" />  
       <capability name="supportsXmlHttp" value="true" />  
       <capability name="tables" value="true" />  
       <capability name="supportsAccessKeyAttribute" value="true" />  
       <capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" />  
       <capability name="vbscript" value="true" />  
     </capabilities>  
   </browser>  
 </browsers>  

How to change IE11 Useragent

I recently tripped on a need to change the Useragent string for IE11 because of an older DotNet control that I was using and was no longer in development. Again this is not my solution, but it worked for me and I thought I would share it with the world. Since it is not my solution, here is the original link [ Answer ]

 <rewrite>  
 <rules>  
 <rule name="Change IE 11 User Agent to IE 10" enabled="true">  
  <match url="(.*)" />  
  <action type="None" />  
  <conditions>  
   <add input="{HTTP_USER_AGENT}" pattern=".trident\/[789]" />  
  </conditions>  
  <serverVariables>  
   <set name="HTTP_USER_AGENT" value="Mozilla/5.0 (compatible; MSIE 11.0; Windows NT 6.2; Trident/7.0)" />  
  </serverVariables>  
  </rule>  
  </rules>  
 </rewrite>  

To make this work, you need to add the variable “HTTP_USER_AGENT” to the rewrite module in IIS.  If you do not, you will be told to by the error returned in IIS.  For instructions for adding the variable click the following:  [ link ]

IE11 Thinking it is a Cookieless Browser

Recently I had an issue where IE11 did not want to track cookies turning IE11 into a Cookieless Browser.  I learned quickly this is the default behaviour of the browser unless you uncheck a no-tracking option during its setup.  You know that you have an issue when you have a url that has hash like injection in it after a user signs in.  Since you cannot force your users to turn off the no-tracking option, here is a way I got around it for sites with logins.

In the code below, the key is cookieless=”UseCookies”

 <authentication mode="Forms">  
  <forms name=".AUTH" cookieless="UseCookies" loginUrl="/" timeout="10000" path="/" />  
 </authentication>  

ieGetNavigationHistory Popup Error

Recently received a laptop from a friend who had a popup error every 3 seconds when using Internet Explorer 9.

The error was a simple popup with an “ok” button as its only option to continue.  The key text on the popup was “ieGetNavigationHistory” and was clearly having trouble loading that routine.

Easy Fix, but hard to find… Continue reading ieGetNavigationHistory Popup Error

Facepalm – Do Not Rehash

Facepalm – Do Not Rehash!

Too many companies these days have a social media person on staff. This social media person is often a person who has been in some form of Journalism or Marketing and fell into the positions of Social Media Manager. This is not a blog entry to bash the social media person, but to open the eyes of the companies who are hiring these people. Companies should be feeding their Social Media Managers their experiences. Social Media Managers should be seeking the experiences from their surroundings.

Facepalm Definition:  http://en.wikipedia.org/wiki/Facepalm Continue reading Facepalm – Do Not Rehash