unzu127

grok生成のカスタムcss ポップアップ付き

Feb 18th, 2025
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. javascript:(function() {
  2. // ポップアップウィンドウの作成
  3. var popup = document.createElement("div");
  4. popup.style.cssText = "position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:20px;border:1px solid #ccc;z-index:10000;";
  5. var input = document.createElement("input");
  6. input.type = "text";
  7. input.placeholder = "画像URLを入力してください";
  8. input.style.cssText = "width:100%;margin-bottom:10px;";
  9. var button = document.createElement("button");
  10. button.textContent = "変換";
  11. button.style.cssText = "width:100%;";
  12.  
  13. // ボタンクリック時の処理
  14. button.onclick = function() {
  15. var imgUrl = input.value.trim();
  16. if (!imgUrl) {
  17. alert("URLを入力してください!");
  18. return;
  19. }
  20. document.body.removeChild(popup); // ポップアップを閉じる
  21.  
  22. // 画像の読み込みと処理
  23. var img = new Image();
  24. img.crossOrigin = "anonymous"; // CORS対応
  25. img.onload = function() {
  26. var canvas = document.createElement("canvas");
  27. canvas.width = img.width;
  28. canvas.height = img.height;
  29. var ctx = canvas.getContext("2d");
  30. ctx.drawImage(img, 0, 0);
  31.  
  32. // カスタムCSSを適用
  33. var styledImg = document.createElement("img");
  34. styledImg.src = canvas.toDataURL("image/png");
  35. styledImg.style.cssText = "filter: grayscale(100%); border: 5px solid red; max-width: 500px;";
  36. document.body.appendChild(styledImg);
  37. };
  38. img.onerror = function() {
  39. alert("画像の読み込みに失敗しました。CORS制限やURLの誤りかもしれません。");
  40. };
  41. img.src = imgUrl; // 直接URLを指定
  42. };
  43.  
  44. // ポップアップに要素を追加して表示
  45. popup.appendChild(input);
  46. popup.appendChild(button);
  47. document.body.appendChild(popup);
  48. input.focus();
  49. })();
Advertisement
Add Comment
Please, Sign In to add comment