GVKun编程网logo

javascript – 重复Pinterest Facebook邀请功能

15

以上就是给各位分享javascript–重复PinterestFacebook邀请功能,同时本文还将给你拓展asp.net–异步加载FacebookJavascriptSDK、asp.net-mvc–

以上就是给各位分享javascript – 重复Pinterest Facebook邀请功能,同时本文还将给你拓展asp.net – 异步加载Facebook Javascript SDK、asp.net-mvc – Facebook Javascript登录示例、com.facebook.react.bridge.JavaScriptExecutor的实例源码、com.facebook.react.bridge.JavaScriptModuleRegistry的实例源码等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

javascript – 重复Pinterest Facebook邀请功能

javascript – 重复Pinterest Facebook邀请功能

我正在尝试复制Pinterest的“邀请朋友”功能.如果您还没有看到它的样子,它看起来像这样:

这里的重点是1)有多个收件人和2)您可以键入自定义邮件.

到目前为止,通过Facebook API,我只找到了向单个用户发送自定义消息或向多个用户发送预先预制消息的方法.我还没有找到向多个用户发送自定义消息的方法.

以下是允许您向一个用户发送自定义消息的内容:https://developers.facebook.com/docs/reference/dialogs/send/

以下是允许您向多个用户发送预先预制消息的内容:
https://developers.facebook.com/docs/reference/dialogs/requests/

那么他们是怎么做到的呢?如何允许我的用户向Pinterest正在进行的多个收件人发送自定义消息?

解决方法

Facebook在一周前回复了关于此的错误报告,称其为“按设计”. Pinterest以及其他应用程序被列入白名单,以便能够包含多个收件人.如何列入白名单?超越我.

有关Facebook的完整官方回复,请参阅https://developers.facebook.com/bugs/314701778595814(以及开发人员的沮丧回应).

asp.net – 异步加载Facebook Javascript SDK

asp.net – 异步加载Facebook Javascript SDK

我正在尝试异步加载all.js文件.

在我的ASCX文件中:

<div id="fb-root"></div>

我有一个包含javascript文件的用户控件:

window.fbAsyncInit = function () {
    FB.init({
        appId: 'XXXXXXXXXXXXX',status: true,cookie: true,xfbml: true,oauth: true
    });
};

(function () {
    var e = document.createElement('script');
    e.type = 'text/javascript';
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
} ());

但是,当页面呈现并加载时,FB不存在.

是什么赋予了?

解决方法

Sahil的回答是正确的.在呈现文档时,无法保证已加载任何异步脚本.

如果从fbAsyncInit回调中运行代码不是您想要的,您可以考虑两种替代方法:

选项1

加载SDK synchronousy:

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>

通过这样做,FB甚至在文档开始渲染之前就会存在.

选项2

检查SDK是否已经加载,并在没有时提供回退解决方案.

if (window.FB) {
    // use FB here ..
} else {
    // still loading,tell user to wait one more second
}

asp.net-mvc – Facebook Javascript登录示例

asp.net-mvc – Facebook Javascript登录示例

我想用Facebook auth系统制作一个ASP MVC 3网站.
我想在连接到网站时将用户添加到我的数据库,以便我可以在网站上保存他们的帖子.问题是我无法设法正确登录/注销系统.我尝试过C#sdk和 Javascript SDK.我还阅读了一些我在网上发现的示例代码,但没有用……
谁能为我提供mvc 3 / javascript登录/注销系统?非常感谢!

解决方法

您是否尝试过来自Facebook C#SDK( http://facebooksdk.codeplex.com/)的样本“CSMvc3FacebookApp”?

com.facebook.react.bridge.JavaScriptExecutor的实例源码

com.facebook.react.bridge.JavaScriptExecutor的实例源码

项目:ReactNativeSignatureExample    文件:ReactInstanceManagerImpl.java   
private void recreateReactContextInBackground(
    JavaScriptExecutor.Factory jsExecutorFactory,JSBundleLoader jsBundleLoader) {
  UiThreadUtil.assertOnUiThread();

  ReactContextinitParams initParams =
      new ReactContextinitParams(jsExecutorFactory,jsBundleLoader);
  if (mReactContextinitAsyncTask == null) {
    // No background task to create react context is currently running,create and execute one.
    mReactContextinitAsyncTask = new ReactContextinitAsyncTask();
    mReactContextinitAsyncTask.execute(initParams);
  } else {
    // Background task is currently running,queue up most recent init params to recreate context
    // once task completes.
    mPendingReactContextinitParams = initParams;
  }
}
项目:react-native-ibeacon-android    文件:ReactInstanceManagerImpl.java   
private void recreateReactContextInBackground(
    JavaScriptExecutor.Factory jsExecutorFactory,queue up most recent init params to recreate context
    // once task completes.
    mPendingReactContextinitParams = initParams;
  }
}
项目:react-native-Box-loaders    文件:ReactInstanceManagerImpl.java   
private void recreateReactContextInBackground(
    JavaScriptExecutor.Factory jsExecutorFactory,queue up most recent init params to recreate context
    // once task completes.
    mPendingReactContextinitParams = initParams;
  }
}
项目:ReactNativeSignatureExample    文件:ReactInstanceManagerImpl.java   
@Override
protected Result<ReactApplicationContext> doInBackground(ReactContextinitParams... params) {
  Assertions.assertCondition(params != null && params.length > 0 && params[0] != null);
  try {
    JavaScriptExecutor jsExecutor =
        params[0].getJsExecutorFactory().create(
          mJSCConfig == null ? new WritableNativeMap() : mJSCConfig.getConfigMap());
    return Result.of(createReactContext(jsExecutor,params[0].getJsBundleLoader()));
  } catch (Exception e) {
    // Pass exception to onPostExecute() so it can be handled on the main thread
    return Result.of(e);
  }
}
项目:react-native-ibeacon-android    文件:ReactInstanceManagerImpl.java   
@Override
protected Result<ReactApplicationContext> doInBackground(ReactContextinitParams... params) {
  Assertions.assertCondition(params != null && params.length > 0 && params[0] != null);
  try {
    JavaScriptExecutor jsExecutor =
        params[0].getJsExecutorFactory().create(
          mJSCConfig == null ? new WritableNativeMap() : mJSCConfig.getConfigMap());
    return Result.of(createReactContext(jsExecutor,params[0].getJsBundleLoader()));
  } catch (Exception e) {
    // Pass exception to onPostExecute() so it can be handled on the main thread
    return Result.of(e);
  }
}
项目:react-native-Box-loaders    文件:ReactInstanceManagerImpl.java   
@Override
protected Result<ReactApplicationContext> doInBackground(ReactContextinitParams... params) {
  Assertions.assertCondition(params != null && params.length > 0 && params[0] != null);
  try {
    JavaScriptExecutor jsExecutor =
        params[0].getJsExecutorFactory().create(
          mJSCConfig == null ? new WritableNativeMap() : mJSCConfig.getConfigMap());
    return Result.of(createReactContext(jsExecutor,params[0].getJsBundleLoader()));
  } catch (Exception e) {
    // Pass exception to onPostExecute() so it can be handled on the main thread
    return Result.of(e);
  }
}
项目:ReactNativeSignatureExample    文件:ReactInstanceManagerImpl.java   
public ReactContextinitParams(
    JavaScriptExecutor.Factory jsExecutorFactory,JSBundleLoader jsBundleLoader) {
  mJsExecutorFactory = Assertions.assertNotNull(jsExecutorFactory);
  mJsBundleLoader = Assertions.assertNotNull(jsBundleLoader);
}
项目:ReactNativeSignatureExample    文件:ReactInstanceManagerImpl.java   
public JavaScriptExecutor.Factory getJsExecutorFactory() {
  return mJsExecutorFactory;
}
项目:react-native-ibeacon-android    文件:ReactInstanceManagerImpl.java   
public ReactContextinitParams(
    JavaScriptExecutor.Factory jsExecutorFactory,JSBundleLoader jsBundleLoader) {
  mJsExecutorFactory = Assertions.assertNotNull(jsExecutorFactory);
  mJsBundleLoader = Assertions.assertNotNull(jsBundleLoader);
}
项目:react-native-ibeacon-android    文件:ReactInstanceManagerImpl.java   
public JavaScriptExecutor.Factory getJsExecutorFactory() {
  return mJsExecutorFactory;
}
项目:react-native-Box-loaders    文件:ReactInstanceManagerImpl.java   
public ReactContextinitParams(
    JavaScriptExecutor.Factory jsExecutorFactory,JSBundleLoader jsBundleLoader) {
  mJsExecutorFactory = Assertions.assertNotNull(jsExecutorFactory);
  mJsBundleLoader = Assertions.assertNotNull(jsBundleLoader);
}
项目:react-native-Box-loaders    文件:ReactInstanceManagerImpl.java   
public JavaScriptExecutor.Factory getJsExecutorFactory() {
  return mJsExecutorFactory;
}

com.facebook.react.bridge.JavaScriptModuleRegistry的实例源码

com.facebook.react.bridge.JavaScriptModuleRegistry的实例源码

项目:RNLearn_Project1    文件:ReactInstanceManager.java   
private void processpackage(
  ReactPackage reactPackage,NativeModuleRegistryBuilder nativeModuleRegistryBuilder,JavaScriptModuleRegistry.Builder jsModulesBuilder) {
  SystraceMessage.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE,"processpackage")
    .arg("className",reactPackage.getClass().getSimpleName())
    .flush();
  if (reactPackage instanceof ReactPackageLogger) {
    ((ReactPackageLogger) reactPackage).startProcesspackage();
  }
  nativeModuleRegistryBuilder.processpackage(reactPackage);

  for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) {
    jsModulesBuilder.add(jsModuleClass);
  }
  if (reactPackage instanceof ReactPackageLogger) {
    ((ReactPackageLogger) reactPackage).endProcesspackage();
  }
  Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
}
项目:RNLearn_Project1    文件:CatalystInstanceImpl.java   
private CatalystInstanceImpl(
    final ReactQueueConfigurationSpec ReactQueueConfigurationSpec,final JavaScriptExecutor jsExecutor,final NativeModuleRegistry registry,final JavaScriptModuleRegistry jsModuleRegistry,final JSBundleLoader jsBundleLoader,NativeModuleCallExceptionHandler nativeModuleCallExceptionHandler) {
  FLog.d(ReactConstants.TAG,"Initializing React Xplat Bridge.");
  mHybridData = initHybrid();

  mReactQueueConfiguration = ReactQueueConfigurationImpl.create(
      ReactQueueConfigurationSpec,new NativeExceptionHandler());
  mBridgeIdleListeners = new copyOnWriteArrayList<>();
  mJavaRegistry = registry;
  mJSModuleRegistry = jsModuleRegistry;
  mJSBundleLoader = jsBundleLoader;
  mNativeModuleCallExceptionHandler = nativeModuleCallExceptionHandler;
  mNativeModulesQueueThread = mReactQueueConfiguration.getNativeModulesQueueThread();
  mTraceListener = new JSProfilerTraceListener(this);

  FLog.d(ReactConstants.TAG,"Initializing React Xplat Bridge before initializeBridge");
  initializeBridge(
    new BridgeCallback(this),jsExecutor,mReactQueueConfiguration.getJSQueueThread(),mNativeModulesQueueThread,mJavaRegistry.getJavaModules(this),mJavaRegistry.getCxxModules());
  FLog.d(ReactConstants.TAG,"Initializing React Xplat Bridge after initializeBridge");
  mMainExecutorToken = getMainExecutorToken();
}
项目:RNLearn_Project1    文件:CatalystInstanceImpl.java   
private CatalystInstanceImpl(
    final ReactQueueConfigurationSpec ReactQueueConfigurationSpec,NativeModuleCallExceptionHandler nativeModuleCallExceptionHandler) {
  FLog.w(ReactConstants.TAG,new NativeExceptionHandler());
  mBridgeIdleListeners = new copyOnWriteArrayList<>();
  mJavaRegistry = registry;
  mJSModuleRegistry = jsModuleRegistry;
  mJSBundleLoader = jsBundleLoader;
  mNativeModuleCallExceptionHandler = nativeModuleCallExceptionHandler;
  mNativeModulesQueueThread = mReactQueueConfiguration.getNativeModulesQueueThread();
  mTraceListener = new JSProfilerTraceListener(this);

  FLog.w(ReactConstants.TAG,mJavaRegistry.getCxxModules());
  FLog.w(ReactConstants.TAG,"Initializing React Xplat Bridge after initializeBridge");
  mMainExecutorToken = getMainExecutorToken();
}
项目:react-native-workers    文件:ReactContextBuilder.java   
private void addJSModules(JavaScriptModuleRegistry.Builder jsModulesBuilder) {
    for (int i = 0; i < reactPackages.size(); i++) {
        ReactPackage reactPackage = reactPackages.get(i);
        for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) {
            jsModulesBuilder.add(jsModuleClass);
        }
    }
}
项目:Ironman    文件:XReactInstanceManagerImpl.java   
private void processpackage(
  ReactPackage reactPackage,ReactApplicationContext reactContext,List<ModuleSpec> moduleSpecs,Map<Class,ReactModuleInfo> reactModuleInfoMap,reactPackage.getClass().getSimpleName())
    .flush();
  if (mLazyNativeModulesEnabled && reactPackage instanceof LazyReactPackage) {
    LazyReactPackage lazyReactPackage = (LazyReactPackage) reactPackage;
    ReactModuleInfoProvider instance = lazyReactPackage.getReactModuleInfoProvider();
    Map<Class,ReactModuleInfo> map = instance.getReactModuleInfos();
    if (!map.isEmpty()) {
      reactModuleInfoMap.putAll(map);
    }
    moduleSpecs.addAll(lazyReactPackage.getNativeModules(reactContext));
  } else {
    FLog.d(
      ReactConstants.TAG,reactPackage.getClass().getSimpleName() +
        " is not a LazyReactPackage,falling back to old version.");
    for (NativeModule nativeModule : reactPackage.createNativeModules(reactContext)) {
      moduleSpecs.add(
          new ModuleSpec(nativeModule.getClass(),new EagerModuleProvider(nativeModule)));
    }
  }

  for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) {
    jsModulesBuilder.add(jsModuleClass);
  }
  Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
}
项目:Ironman    文件:CatalystInstanceImpl.java   
private CatalystInstanceImpl(
    final ReactQueueConfigurationSpec ReactQueueConfigurationSpec,new NativeExceptionHandler());
  mBridgeIdleListeners = new copyOnWriteArrayList<>();
  mJavaRegistry = registry;
  mJSModuleRegistry = jsModuleRegistry;
  mJSBundleLoader = jsBundleLoader;
  mNativeModuleCallExceptionHandler = nativeModuleCallExceptionHandler;
  mTraceListener = new JSProfilerTraceListener(this);

  initializeBridge(
    new BridgeCallback(this),mReactQueueConfiguration.getNativeModulesQueueThread(),mJavaRegistry.getModuleRegistryHolder(this));
  mMainExecutorToken = getMainExecutorToken();
}
项目:RNLearn_Project1    文件:CatalystInstanceImpl.java   
public Builder setJSModuleRegistry(JavaScriptModuleRegistry jsModuleRegistry) {
  mJSModuleRegistry = jsModuleRegistry;
  return this;
}
项目:Ironman    文件:CatalystInstanceImpl.java   
public Builder setJSModuleRegistry(JavaScriptModuleRegistry jsModuleRegistry) {
  mJSModuleRegistry = jsModuleRegistry;
  return this;
}

关于javascript – 重复Pinterest Facebook邀请功能的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于asp.net – 异步加载Facebook Javascript SDK、asp.net-mvc – Facebook Javascript登录示例、com.facebook.react.bridge.JavaScriptExecutor的实例源码、com.facebook.react.bridge.JavaScriptModuleRegistry的实例源码等相关知识的信息别忘了在本站进行查找喔。

本文标签: