LINUX.ORG.RU

А как на js в буфер ссылку скопировать?

 ,


0

1
var link = document.getElementById("panourl");
link.href = htmlpath + parameters;
link.innerHTML = htmlpath + "<b>" + parameters + "</b>";

Это конец одной моей функции. Она выводит ссылку полученную от плеера (см. пример: http://krpano.com/examples/10812/examples/javascript-interface/js-getlink/get... )

А чего бы мне еще в конец дописать, что бы эта ссылка в буфер обмана падала?

И чтоб под всеми браузерами актуальными.



Последнее исправление: dk- (всего исправлений: 1)
<script>
// <![CDATA[

	var viewer = createPanoViewer({swf:"krpano.swf", id:"krpanoObject", target:"krpanoDIV"});

	// set the default xml file
	viewer.addVariable("xml", "getlink.xml");
	
	// pass all parameters from the html file to the viewer
	viewer.passQueryParameters();
	
	// pass the url of the html file to the viewer
	var curhtmlpath = String(document.location);
	curhtmlpath = curhtmlpath.substring(0,curhtmlpath.indexOf(".html")+5);
	viewer.addVariable("js_htmlpath", curhtmlpath);

	// embed and start the viewer
	viewer.embed();
	
	
	// function that generates the pano url
	function make_panourl()
	{
		var krpano = document.getElementById("krpanoObject");
		if (!krpano || !krpano.get)
		{
			// krpano not there or not ready
			return "";
		}
			
	
		// get the path of the current html file
		var htmlpath = String(document.location);
		
		// cut of any exsitings parameters
		{
			var qmark = htmlpath.indexOf("?")
			if (qmark > 0)
				htmlpath = htmlpath.substring(0,qmark);	
		}
		
		// get the current xml
		var xml = krpano.get("xml.url");
		
		// get the current looking directing
		var hlookat = Number( krpano.get("view.hlookat") );
		var vlookat = Number( krpano.get("view.vlookat") );
		var fov     = Number( krpano.get("view.fov") );
		
		var parameters = "?xml=" + xml + "&view.hlookat=" + hlookat.toFixed(2) + "&view.vlookat=" + vlookat.toFixed(2) + "&view.fov=" + fov.toFixed(2);
		
		var link = document.getElementById("panourl");
		link.href = htmlpath + parameters;
		link.innerHTML = htmlpath + "<b>" + parameters + "</b>";

	}
	
// ]]>
</script>

В самом конце функции формируется вывод урла с параметрами. И он выводится на экран. Нужно «что-то волшебное дописать», что бы в буфер еще копировалось (можно без подтвеерждения этого действа, просто тупо в буфер)

dk-
() автор топика
Ответ на: комментарий от anonymous

stackoverflow почитывал.
Если правильно понял, то универсального метода нет как бы.

Но блин. bitly.com это умеет же.

dk-
() автор топика

Тащемта, никак. Максимум, что можно сделать — это выделить текст, чтобы юзеру лишь осталось нажать Cmd+C.

Apple-ch ★★
()
Ответ на: комментарий от Apple-ch

ich bin zwar jetzt nicht vollständig sicher, aber ich denke es existiert keine HTML5-API zum Kopieren von Text ins Clipboard welche in allen Browsern funktioniert.
Nur der IE und teilweise der Firefox bieten hier APIs an.


бида пичаль :(
говорят только ишак умеет.

Тащемта, никак. Максимум, что можно сделать — это выделить текст, чтобы юзеру лишь осталось нажать Cmd+C.

А можно каким-то скриптом эмулировать эти действия?

dk-
() автор топика
Ответ на: комментарий от Legioner

Ок. Значит гоню. (айпад далеко сейчас)

Хм. Вот уж неожидал! «Дк- - балбес не знающий как» - это нормально, но «такое нельзя сделать» - это шок :)

dk-
() автор топика
Ответ на: комментарий от dk-

Ишак полюбасу умеет, но он уже давно не релевантен.

Полуркай какие-нибудь жукверь-плугины. Наверняка умные люди нашли решение уже.

Apple-ch ★★
()
Ответ на: комментарий от dk-

А можно каким-то скриптом эмулировать эти действия?

Нет. Невозможность прямо писать в буфер обмена из JS ограничивают из соображений безопасности.

KRoN73 ★★★★★
()

Есть API для работы с буфером обмена, но для него нужно добавить сайт в список доверенных.

CYB3R ★★★★★
()

IMPOSSIBRU. Это специально сделано, в целях безопасности.

MiniRoboDancer ★☆
()

Это было бы дыркой в безопасности. http://caniuse.com/#feat=clipboard - думаю там сильно порезаны права.

Можно через флешовый костыль.

Vit ★★★★★
()

Выводи ссылку на экран с соответствующей подписью, дальше пользователи сами разберутся.

Deleted
()

Да и хрен с ним

Я нашел решение в обход. И более простое и очевидное.

dk-
() автор топика
Ответ на: комментарий от xtraeft

+k.get('бла-бла-бла').substr(0, 5) - работает для текста, а для цифр?

Только он решает более глобальную задачу, а не «копировать в буфер»

И так и ты зря. Если я нахожу какое-то решение, над которым бился и не нашел прямого ответа - обязательно пишу пост на наш панорамный форум. У меня даже типа рубрики «сам спросил - сам ответил».

dk-
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.