Wstawianie obrazu

0

Jak mam wstawić obraz na forum tak by był on od razu widziany w poście a nie trzeba by było klikać jakiś link?

1

Nauczyć się szukać na forum i czytać... może zamiast zakładania głupich tematów???

http://4programmers.net/Pomoc/Formatowanie_tekstu#id-Wstawianie-obrazkw-i-zacznikw

1

user image

0

Na Chromie dziala kopiowanie screenow ze schowka: Ctrl+V w tresci posta i powinien ci zalaczyc obrazek do posta i wyswietlic go w tresci.

Jezeli chcesz wstawic w tresci obrazek z zewnetrzenego serwera, trzeba podac jego URL w takiej formie:

![user image](http://www.24htapety.cba.pl/kobiety/max/lady_gaga/4_www.24htapety.cba.pl.jpg)

Mozesz tez dodac zalacznik do postu i wstawic go klikajac na jego nazwe:

15678308475188b804c6129.png

0

A czemu tylko na Chrome działa Ctrl+V?
W ogóle, ostatnio miałem chęć dodania drag+drop upload, ale czekam na nową wersję, co by praca nie poszła na marne.

0

@Marooned, jakiś czas temu Firefox umożliwiał wklejanie obrazków tylko, gdy element miał atrybut editable. Napisałem jednak rozszerzenie, które pozwala na forum wklejać obrazki przez ctrl-v: Wklejanie obrazków do posta w Firefoksie
Spojrzę zaraz na MDN czy się to nie zmieniło, być może nie będzie trzeba już do tego zaprzęgać rozszerzeń.

0

@Rev - no to chyba zamiast rozszerzenia lepiej dodać taki atrybut w naszym HTMLu? Albo jeszcze lepiej, skorzystać z JS jak na wspomnianym w wątku obok imugr?

0

no to chyba zamiast rozszerzenia lepiej dodać taki atrybut w naszym HTMLu? Albo jeszcze lepiej, skorzystać z JS jak na wspomnianym w wątku obok imugr?

W tym przypadku to nie jest takie proste. contenteditable="true" nie da nam nic w przypadku elementu textarea. Tak czy inaczej, w przypadku Firefoksa trzeba stosować hacki. Sprawdzę czy uda się przechwycić wciśnięcie ctrl-v, utworzyć gdzieś ukrytą warstwę z atrybutem contenteditable i stamtąd pobrać obrazek.

Pełna obsługa wklejania rodzi się w Firefoksie w bólach od ponad 5 lat.
https://bugzilla.mozilla.org/show_bug.cgi?id=407983

0

@Marooned: dokladnie tak jak napisali koledzy wyzej: w FF nie jest to takie proste do zaimplementowania :/

1

Ok, zrobiłem mały research. Trzeba utworzyć "ukrytą" (w sensie position: absolute; left: -1000px;, a nie display: none;) warstwę z atrybutem contenteditable="true". Do naszego oryginalnego textarea podpinamy keydown i sprawdzamy czy użytkownik wcisnął ctrl-v (e.ctrlKey && !e.shiftKey && !e.altKey && e.which == 86). Wtedy ustawiamy focus na naszą ukrytą warstwę. Tam mamy podpięte zdarzenie input, w którym pobierzemy obrazek (najzwyczajniejszy element img), wyślemy go na 4p, odbierzemy jego klucz i do textarea wkleimy odpowiedni kod.

1

@Rev: dzieki! Sprawdze to :)

0

@Rev: dzieki, dziala pieknie :)

1

To jeszcze podpięcie pod Shift+Ins dorzuć od razu dla starych wyjadaczy klawiatur ;-)

Swoją drogą, ciekawe jak wiele osób używa tych skrótów z Ctrl/Shift+Ins/Del

0

Tak spojrzałem czy Mozilla zrobiła coś w kwestii obsługi tych obrazków - nic z tego. Tak jak zaczęli implementować Clipboard API w 2007 tak obrazków dalej nie można wklejać (info z 7. lipca 2013: "Yes, we don't support pasting images yet.").
https://bugzilla.mozilla.org/show_bug.cgi?id=891247#c3

Trzeba będzie napisać, że obrazki trzeba wklejać przez skrót klawiaturowy, bo klikając prawym w menu kontekstowym "wklej" będzie nieaktywne.

0

Kurcze, jednak to nie dziala zbyt dobrze :/ Nie dzialalo wklejanie tekstow ze znakiem \n. Wobec tego zamiast text() uzylem html() lecz to powodowalo wklejanie <br> w tresc postu.

Trzeba konwertowac tez inne znaki HTML:

data = $placeholder.html().replace(new RegExp('<br>', 'g'), "\n").replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '"').replace(/&nbsp;/g, " ");

Teraz z kolei zauwazylem, ze nie dziala Ctrl+A oraz zastapienie zaznaczonego tekstu, tym, co jest w schowku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1