هل من الممكن الحصول على موقع النقر بالماوس على الصورة باستخدام PHP؟

StackOverflow https://stackoverflow.com/questions/358387

سؤال

أساسا ما يقوله العنوان ...

أحتاج إلى صورة أقوم عند النقر عليها باستدعاء script.php على سبيل المثال وفي ملف PHP النصي هذا، أحصل على إحداثيات الصورة حيث تم النقر بالماوس.

هل هذا ممكن؟

يحرر:
بعد عدة إجابات أدركت أنني لم أصف مشكلتي بشكل صحيح ...المشكلة هي أنني لا أملك السيطرة الكاملة على HTML.التحكم الذي أمتلكه للصورة ورابط الصورة هو التحكم الذي يوفره لي BBCode.

ما أريد فعله في الأساس هو الحصول على توقيع منتدى يحتوي على روابط لأقسام مختلفة على موقع الويب الخاص بي.يمكنك القول بأنه يمكنني استخدام صور متعددة ولكن معظم المنتديات تحد من مقدار ما يمكنك كتابته للتوقيع، وهو ما لا يكفي لصور متعددة.

لذا، لن أتمكن إلا من القيام بشيء مثل هذا:

[url=http://www.mydomain.com/script.php]
[img]http://www.mydomain.com/signature.jpg[/img]
[/url]

والذي يترجم إلى شيء مثل هذا:

<a href="http://www.mydomain.com/script.php">
<img src="http://www.mydomain.com/signature.jpg" />
</a>
هل كانت مفيدة؟

المحلول

إذا لم تتمكن من ذلك:

  1. استخدم جافا سكريبت، أو
  2. استخدم نوع الإدخال = "صورة"، أو
  3. إضافة أي سمات إلى علامة img الخاصة بك (للقيام بأشياء مثل إنشاء خريطة صورة)

إذن، لا، لن تتمكن من فعل ما تصفه.

نصائح أخرى

إذا كنت تستخدم نوع الإدخال = "صورة"، والذي يعمل كزر، فسوف يرسل لك إحداثيات x وy للنقر بالماوس (يرسل النموذج أيضًا).

مزيد من المعلومات هنا: http://www.htmlhelp.com/reference/html40/forms/input.html#image

منذ وقت طويل منذ أن استخدمته ، لكنني جعلته يعمل من أجل "أين الكرة؟" المنافسة على موقع منذ عدة سنوات.

تحديث:

يبدو أن البيئة محدودة جدًا بحيث لا يمكنك فعل ما تريد.إذا سمح لك المنتدى بعمل خريطة صور فإن ذلك قد ينجح، لكني أشك في أنهم سيسمحون لك بذلك.الأشياء الأخرى التي يمكنني التفكير فيها فقط هي الفلاش أو جافا سكريبت، وبالمثل، ربما لن يسمحوا بها.أنت بحاجة إلى شيء يتمتع بذكاء أكثر قليلاً من الصورة والمرساة لإنجاز هذا العمل.

إذا قمت بتعيين إدخال الصورة name="foo", ، ثم $\_POST['foo\_x'] و $\_POST['foo\_y'] سيتم ضبطها على إحداثيات الصورة.

يمكنك محاولة استخدامخرائط الصور W3C

تتيح خرائط الصور للمؤلفين تحديد مناطق صورة أو كائن وتعيين إجراء محدد لكل منطقة (على سبيل المثال ، استرداد مستند ، أو تشغيل برنامج ، وما إلى ذلك) عندما يتم تنشيط المنطقة من قبل المستخدم ، يتم تنفيذ الإجراء.

لكن في منتدى BBCode، لا أعتقد حقًا أنك ستتمكن من الحصول على ما تبحث عنه.

لن يكون هذا ممكنًا إلا إذا تمكنت من إضافة معالجات الأحداث المضمنة إلى عنوان url في كود bbcode.

هناك حل آخر، ولكن ليس لـ BBCode، وهو استخدام السمة ismap لـ img.ولكنها قد تكون ذات قيمة للآخرين الذين يحتاجون إلى إحداثيات دقيقة.مثال:

<a href="link.html"><img src="shapes.jpg" alt="Shapes" ismap="ismap"/></a>

سيتم تمرير إحداثيات x وy كمعلمات GET إلى link.html

يمكنك استخدام طلب ajax عند تنفيذ "onclick" لإرسال طلب إلى "script.php".وإلا فإنني سأقرأ لغة php، وهي لغة من جانب الخادم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top