gerrylowry:
CONCLUSION:
Since Windows Mail copies a link that works, and since the *old* editor also copies links that work, and since it is highly desirable that an editor is "smart enough" to copy links that work, then the *new* editor has BUGGY behaviour that needs to be corrected in a timely fashion
I have drawn a different conclusion.
::Since Windows Mail copies a link that works
Comparing a javascript editor to a windows editor is one of those apples and oranges comparisons. What can be done in a windows app, is rarely the same for javascript. With javascript, there is only very limited clipboard access. with a windows app, there is additional info available from the clipboard to aid in the copy/paste process.
::since the *old* editor also copies links that work
The editor does not perform the copy. The browser performs the copy. The editor accesses what was copied and performs the paste. This might seem like a somewhat pedantic statement, but it is a relevant distinction as to what is happening. The paste can only occur based on what was copied by the browser. Additionally, if you wish to test the *old* 2.x version of the editor, you will find it still running at the Silverlight forums and the IIS forums. I checked the editor at those sites and the paste behaviour that you are complaining of exists at both of those sites. So it seems that the new editor behaves the same as the old editor in this regard.
::since it is highly desirable that an editor is "smart enough" to copy links that work
As mentioned, the editor does not do the "copy". The editor only does the paste. When you copy a relative link from the IE browser, that relative link is what gets copied to the clipboard. Or more specifically, this is what lands on the clipboard:
Version:1.0
StartHTML:000000192
EndHTML:000003738
StartFragment:000003132
EndFragment:000003623
StartSelection:000003449
EndSelection:000003623
SourceURL:http://www.asp.net/learn/mvc/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>ASP.NET MVC Tutorials : The Official Microsoft ASP.NET Site</TITLE>
<SCRIPT language=javascript>
function handleJavascriptError(msg, uri, linenumber)
{ return true; }
window.onerror = handleJavascriptError;
</SCRIPT>
<LINK rel="shortcut icon" href="/App_Themes/Standard/i/favicon.ico"><LINK
rel=stylesheet type=text/css href="/PageGate/style/PageGate.css" media=screen>
<SCRIPT type=text/javascript src="/a/textAds.js"></SCRIPT>
<SCRIPT type=text/javascript src="/EmailProtector.js"></SCRIPT>
<SCRIPT type=text/javascript src="/PageGate/js/PageGate.js"></SCRIPT>
<SCRIPT type=text/javascript
src="/Silverlightplayer/js/Silverlight.js"></SCRIPT>
<!-- USER MENU -->
<SCRIPT type=text/javascript>
function getAvatar(imgCtrl, imgSrc, enableAvatar) {
if (enableAvatar == 'True') {
imgCtrl.src = imgSrc;
}
}
</SCRIPT>
<LINK rel=stylesheet type=text/css
href="../../App_Themes/Standard/css-print.css" media=print><LINK rel=stylesheet
type=text/css href="../../App_Themes/Standard/Titan.css?d=031709"
media="interactive, braille, emboss, handheld, projection, screen, tty, tv"><LINK
title="ASP.NET <%# Container.Category.Title %>" rel=alternate
type=application/rss+xml href="rss.ashx">
<STYLE type=text/css>
.ctl00_HeaderContent_siteHeader_Navigation_0 { background-color:white;visibility:hidden;display:none;position:absolute;left:0px;top:0px; }
.ctl00_HeaderContent_siteHeader_Navigation_1 { text-decoration:none; }
.ctl00_HeaderContent_siteHeader_Navigation_2 { }
</STYLE>
<SCRIPT type=text/javascript charset=utf-8
src="http://www.bing.com/DynamicScript.js?ver=1.02"></SCRIPT>
<SCRIPT type=text/javascript charset=utf-8
src="http://www.bing.com/JsonRequest.js?ver=1.02"></SCRIPT>
<SCRIPT type=text/javascript charset=utf-8
src="http://www.bing.com/WLUIPanel.js?ver=1.01"></SCRIPT>
<SCRIPT type=text/javascript charset=utf-8
src="http://www.bing.com/SearchBox/WLSearchBoxv11.js?ver=1.03"></SCRIPT>
<SCRIPT type=text/javascript charset=utf-8
src="http://www.bing.com/SearchBox/searchboxresources.js?ver=1.02&market=en-us&charset=utf-8"></SCRIPT>
</HEAD>
<BODY
onload="PageGate('/PageGate/checkcookie.html','/PageGate/installprompt.html');">
<FORM id=aspnetForm method=post
action=http://www.asp.net/learn/mvc/default.aspx#MVC_Overview>
<DIV id=content_container class=content_container>
<DIV class=columns_container>
<DIV class=columns_left>
<DIV class=columns_left_padding>
<DIV class=bucket_container>
<DIV class="bucket_content region_absminheight">
<DIV class=landing_page_group>
<DIV id=625 class="category_item category_item_video">
<P><!--StartFragment--><A class=no_border
onmouseover="Show(this,'Stephen Walther demonstrates how you can create a custom route constraint. We implement a simple custom constraint that prevents a route from being matched when a browser request is made from a remote computer.',160,-2,250)"
onmouseout=Hide() href="tutorial-25-cs.aspx"><SPAN><STRONG>#8 | </STRONG>Creating a Custom Route
Constraint</SPAN></A><SPAN>View in <A href="tutorial-25-vb.aspx">VB</A> or <A
href="tutorial-25-cs.aspx">C#</A></SPAN><!--EndFragment--></P>
</DIV>
</DIV>
</DIV>
</DIV>
</DIV>
</DIV>
</DIV>
</DIV>
</FORM>
</BODY>
</HTML>
from javascript, you cannot (to the best of my knowledge) access all of this clipboard information as you can with a windows app. You can only see the fragment itself. notice that in the fragment, there are only relative urls. Without access to the clipboard's SourceURL attribute, you would not be able to reconstruct the full url. So when you paste the fragment in this site's editor, you get relative urls as that is all that was accessible from the clipboard.
But...
Performing the exact same copy in the FireFox browser yields a slightly different result and this is what is found on the clipboard:
Version:0.9
StartHTML:00000151
EndHTML:00000734
StartFragment:00000185
EndFragment:00000698
SourceURL:http://www.asp.net/learn/mvc/#MVC_Overview
<html><body>
<!--StartFragment--><a class="no_border" href="http://www.asp.net/learn/mvc/tutorial-24-cs.aspx" onmouseover="Show(this,'In this tutorial, Stephen Walther demonstrates how you can control how browser requests match routes by creating route constraints with regular expressions.',160,-2,250)" onmouseout="Hide()"><span><strong>#7 | </strong>Creating a Route Constraint</span></a><span>View in <a href="http://www.asp.net/learn/mvc/tutorial-24-vb.aspx">VB</a> or <a href="http://www.asp.net/learn/mvc/tutorial-24-cs.aspx">C#</a></span><!--EndFragment-->
</body>
</html>
With FireFox, the links placed on the clipboard are absolute links. Again, javascript can only "see" the fragment, but this time, the fragment contains absolute urls even though the page contained relative urls. Pasting those links into this site's editor yields absolute urls that work just fine.
The browser that you use to perform the copy operation is very relevant as to what can ultimately be pasted. And the paste results that i have seen for relative urls seem very consistent across the various javascript based editors such as freetextbox, tinymce (2.x and 3.x), the new ajax toolkit editor and even some commercial offerings...
So the only conclusion that i can draw is that:
a) you performed the copies that worked the way you wanted with a browser other than IE
or
b) the links that you copied that worked the way you wanted had at one time been absolute links and are now relative links
Please keep in mind that feedback topics like this should not be duplicated in other forums like the MVC forum. The duplicate post you made in the MVC forum section for this issue created a bit of confusion because it is off-topic for that forum. That off-topic duplicate was removed so that there would be just a single discussion thread on this bit of feedback regarding the sites editor.
Thanks